1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|0100 ( -> square root of 49 )
#0031 sqrt
BRK
@sqrt ( v* -- v* )
DUP2 #0002 LTH2 ?&end
DUP2 ,&s STR2 #01 SFT2 sqrt/update
&w ( x1* x0* )
NIP2 sqrt/update
SWP2k LTH2 ?&w
POP2
&end
JMP2r
&update ( x0* -- x1* )
DUP2 [ LIT2 &s $2 ] OVR2 DIV2 ADD2 #01 SFT2
JMP2r