1 :name
:fe
:r
->X
:r
->Y
:r
->Z
:r
->T
:t0
:t1
:t2
:t3
:t4
:t5
:p
->X
:p
->Y
:p
->Z
:p
->T
:q
->yplusx
:q
->yminusx
:q
->xy2d
:
4 enter f
:enter
/f
:>X1
=fe
#11:>Y1=fe#12:>Z1=fe#13:>T1=fe#14:>ypx2=fe#15:>ymx2=fe#16:>xy2d2=fe#17:
5 return:nofallthrough
:<X3
=fe
#1:<Y3=fe#2:<Z3=fe#3:<T3=fe#4:leave:
7 h
=f
+g
:<f
=fe
:<g
=fe
:>h
=fe
:asm
/fe_add(>h
,<f
,<g
);:
8 h
=f
-g
:<f
=fe
:<g
=fe
:>h
=fe
:asm
/fe_sub(>h
,<f
,<g
);:
9 h
=f
*g
:<f
=fe
:<g
=fe
:>h
=fe
:asm
/fe_mul(>h
,<f
,<g
);:
10 h
=f^
2:<f
=fe
:>h
=fe
:asm
/fe_sq(>h
,<f
);:
11 h
=2*g
:<g
=fe
:>h
=fe
:asm
/fe_add(>h
,<g
,<g
);: