Fix minor bug in CSE.
Fix minor bug in CSE.

Use counts are not transitive. E.g in (x*x + 1) + (x*x + 1), (x*x + 1) is
used twice, x*x is used once (not twice), because once we pull x*x + 1 into
a let, there will only be one x*x.

But use counts should be transitive for exprs we're not going to
extract as a let! E.g, in the above example, if we're not going to pull
x*x + 1 out as a let, then we should treat x*x as having a use count of 2!

So I've separate the use_count tracking from the global numbering, and made
exprs for which should_extract = false transitively increment the use_counts
of their children.

smxlong/Halide,lglucin/Halide,smxlong/Halide,tdenniston/Halide,delcypher/Halide,damienfir/Halide,rodrigob/Halide,ayanazmat/Halide,myrtleTree33/Halide,gchauras/Halide,damienfir/Halide,ronen/Halide,aam/Halide,jiawen/Halide,adasworks/Halide,dougkwan/Halide,smxlong/Halide,dougkwan/Halide,ayanazmat/Halide,gchauras/Halide,ayanazmat/Halide,dougkwan/Halide,lglucin/Halide,lglucin/Halide,psuriana/Halide,dougkwan/Halide,delcypher/Halide,rodrigob/Halide,kenkuang1213/Halide,smxlong/Halide,mcanthony/Halide,lglucin/Halide,dan-tull/Halide,kenkuang1213/Halide,mcanthony/Halide,gchauras/Halide,myrtleTree33/Halide,myrtleTree33/Halide,dan-tull/Halide,smxlong/Halide,ronen/Halide,myrtleTree33/Halide,jiawen/Halide,aam/Halide,smxlong/Halide,delcypher/Halide,dan-tull/Halide,ayanazmat/Halide,tdenniston/Halide,delcypher/Halide,rodrigob/Halide,dan-tull/Halide,rodrigob/Halide,lglucin/Halide,ronen/Halide,myrtleTree33/Halide,tdenniston/Halide,lglucin/Halide,rodrigob/Halide,myrtleTree33/Halide,fengzhyuan/Halide,fengzhyuan/Halide,psuriana/Halide,ayanazmat/Halide,aam/Halide,smxlong/Halide,fengzhyuan/Halide,kenkuang1213/Halide,dan-tull/Halide,kgnk/Halide,ayanazmat/Halide,ronen/Halide,gchauras/Halide,dan-tull/Halide,rodrigob/Halide,ayanazmat/Halide,mcanthony/Halide,delcypher/Halide,rodrigob/Halide,tdenniston/Halide,kgnk/Halide,kenkuang1213/Halide,kenkuang1213/Halide,kgnk/Halide,damienfir/Halide,psuriana/Halide,tdenniston/Halide,myrtleTree33/Halide,mcanthony/Halide,mcanthony/Halide,dan-tull/Halide,kenkuang1213/Halide,damienfir/Halide,mcanthony/Halide,jiawen/Halide,kgnk/Halide,delcypher/Halide,adasworks/Halide,psuriana/Halide,gchauras/Halide,psuriana/Halide,damienfir/Halide,ayanazmat/Halide,ronen/Halide,adasworks/Halide,delcypher/Halide,jiawen/Halide,dougkwan/Halide,adasworks/Halide,tdenniston/Halide,kgnk/Halide,dougkwan/Halide,psuriana/Halide,fengzhyuan/Halide,ronen/Halide,jiawen/Halide,fengzhyuan/Halide,dan-tull/Halide,gchauras/Halide,kgnk/Halide,fengzhyuan/Halide,aam/Halide,psuriana/Halide,adasworks/Halide,tdenniston/Halide,kgnk/Halide,adasworks/Halide,tdenniston/Halide,rodrigob/Halide,myrtleTree33/Halide,damienfir/Halide,mcanthony/Halide,kenkuang1213/Halide,fengzhyuan/Halide,jiawen/Halide,adasworks/Halide,ronen/Halide,ronen/Halide,delcypher/Halide,jiawen/Halide,fengzhyuan/Halide,kenkuang1213/Halide,damienfir/Halide,aam/Halide,dougkwan/Halide,kgnk/Halide,lglucin/Halide,aam/Halide,damienfir/Halide,dougkwan/Halide,smxlong/Halide,aam/Halide,mcanthony/Halide,adasworks/Halide