for (i = 0; i < firing; i++) {
for (i = firing; i > 0; i--) {
    public void work() {	float lastValReal, productReal, valReal;	float lastValImag, productImag, valImag;	int i;	lastValReal = input.peekFloat(3);	lastValImag = input.peekFloat(2);	for (i = 0; i < firing; i++) {	    valImag = input.popFloat();	    valReal = input.popFloat();	    	    productReal = (valReal *lastValReal) - (valImag * lastValImag);	    productImag = (valReal * (-lastValImag)) - (valImag *lastValReal);	    lastValReal = valReal;	    lastValImag = valImag;	    	    output.pushFloat		(gain * (float)(Math.asin(productImag/					  (Math.sqrt(Math.pow(productReal,2) + 						     Math.pow(productImag,2))))));	}    }