<div dir="ltr"><div>I have a class that implements a one pole filter, with instance variables pole and y (the last output). It implements<br></div><br>value: in<br>    ^ y := (1.0 - pole) * in + (pole * y)<br><br>The following implementation is equivalent, but uses one less arithmetic operation:<br><br>value: in<br>    ^ y := (y - in) * pole + in<br><br>I was surprised to find out that the second implementation is 35% slower (measured with BlockClosure>>bench). From just looking at the bytecodes naively, it looks like a "pushTemp: 0" is much slower than a "pushRcvr: 0" + a "pushConstant: 1.0" + "send: *". Anyone know what's exactly going on? Is there an easy way to print the generated native code? I'm just curious, not a big deal.<div><br></div><div>Thanks,<div>Luciano</div></div></div>