vstack.push(createConst(type, fpv1 - fpv2));
vstack.push(createConst(ifac, type, fpv1 - fpv2));
	final static void sub(AbstractX86Stream os, EmitterContext ec,			VirtualStack vstack, int type) {		final Item v2 = vstack.pop(type);		final Item v1 = vstack.pop(type);		if (v1.isConstant() && v2.isConstant()) {			final double fpv1 = getFPValue(v1);			final double fpv2 = getFPValue(v2);			vstack.push(createConst(type, fpv1 - fpv2));		} else {			// Prepare stack			final FPUStack fpuStack = vstack.fpuStack;			final Register reg;			reg = prepareForOperation(os, ec, vstack, fpuStack, v2, v1, false);			final Item result = fpuStack.getItem(reg);			fpuStack.pop();			// Calculate			os.writeFSUBP(reg);			// Push result			vstack.push(result);		}	}