TEXT exp(SB), $0 FLDL2E FMULD a+0(FP), F0 /* now we want 2^ this number */ FMOVD F0, F0 /* x, x */ FRNDINT /* ix, x -- this is best in round mode */ FSUBD F0, F1 /* ix, fx */ FXCHD F0, F1 /* fx, ix */ F2XM1 /* 2^fx-1, ix */ FADDD $1.0, F0 /* 2^fx, ix */ FSCALE /* 2^(fx+ix), ix */ FMOVDP F0, F1 /* 2^(fx+ix) == 2^x */ RET