windows – Formula Usando FPU


Estou programando em Masm x86 direcionado para Windows, e preciso calcular a seguinte fórmula

ppx = dxp+lngs-lngs/2*tg(head)

onde dxp é o Valor de X inicial
lngs é a largura e head é o ângulo
inicialmente temos

dxp SWORD 100
lngs SWORD 70
head SWORD 75

criei o seguinte código

fild word ptr lngs
fild word ptr head
fild word ptr n180
fdiv
fldpi
fmul
fptan
fild word ptr n2
fmul
fdiv
fchs
fiadd word ptr dpx
fiadd word ptr lngs
fistp word ptr ppx

teoricamente ppx deveria retornar 160,6217
mas obtive esse resultado

alguém ajuda?