var dx:Number = 3.53434534; var dy:Number = 3.2; var dz:Number = 10; var a:Array = new Array(); for(var apprx:uint = 0; apprx< 1024;apprx++) { a[apprx] = 1/Math.sqrt(apprx); } var dzz:Number = dx*dx + dy*dy + dz*dz; var invsqrt:Number; var rsqrt:Number; var s:uint = getTimer(); for(var j:uint = 0;j<1000000;j++) { rsqrt = 1 / Math.sqrt(dzz); } var s2:uint = getTimer(); for(var i:uint = 0;i<1000000;i++) { var aval:Number = a[int(dzz)]; invsqrt = 1.5*aval - 0.5*dzz*aval*aval*aval; invsqrt = 1.5*invsqrt - 0.5*dzz*invsqrt*invsqrt*invsqrt; invsqrt = 1.5*invsqrt - 0.5*dzz*invsqrt*invsqrt*invsqrt; } var s3:uint = getTimer(); trace(" "+(s2-s)+" "+(s3-s2));