STRE SGLB Misc/Class Reference CLAS 354043 ESBR SORD 2 main data LVAL 0.125004 /o,-8,8,0,8;exponent LVAL 0 result LVAL 0 mantisa ESBR SORD 3 table of precomputed logs LITO 65535 Lg 2 = 1.0 LITO 27200 Lg 4/3 = .41503750 LITO 12625 Lg 8/7 = .19264508 LITO 6102 Lg 16/15 = .09310940 LITO 3002 Lg 32/31 = .04580369 LITO 1489 Lg 64/63 = .02272008 LITO 742 Lg 128/127 = .01131531 LITO 370 Lg 256/255 = .00564656 LITO 185 Lg 512/511 = .00282052 LITO 92 Lg 1024/1023 = .00140957 LITO 46 Lg 2048/2047 = .00070461 LITO 23 Lg 4096/4095 = .00035226 LITO 12 Lg 8192/8191 = .00017612 LITO 6 Lg 16384/16383 = .00008806 LITO 3 Lg 32768/32767 = .00004403 LITO 1 Lg 65536/65535 = .00002201 ESBR SORD 4 integer part from normalization LITO 0 LITO 0 integer part in fake time LITO 0 ESBR SGLB Output/#1 LCON /*+;Output ESBR ESTR STRE SGLB Misc/Superclass Reference CLAS 354008 ESBR SGLB Winders/Ramp Rate PRIM Stack/Swap data/inst/... LITO 4 ramp incr. index LITO 2 main data PRIM S_tree/Replace PRIM Heap/Store self ESBR SGLB Temp/Exponent /3v,-8,8,0,8;Enter Exponent: PRIM Stack/Swap data/inst/... LITO 1 exponent index LITO 2 main data PRIM S_tree/Replace PRIM Heap/Store self ESBR SGLB Utility/Input /3 PRIM Stack/Swap x/inst/É LITO 1 smallest value/x/inst/É PRIM Value/Compare x > 0/x/inst/É BRFL branch if x <= 0 PRIM Stack/Drop inst/É LVAL 0 0.0/inst/É LCAL Result BRTR LVAL 1 1.0/x/inst/É PRIM Ordinal/Test equal x=1.0/x/inst/É PRIM Ordinal/Test zero x!=1.0/x/inst/É BRFL branch if x = 1.0 LCAL Result BRTR PRIM Stack/Swap inst/x/É CMNT computes Lg(x) where x is positive CMNT assumes that 0 < x < 1 LITO 0 get whole list LITO 3 log list PRIM S_tree/Read logs/inst/x/É PRIM Stack/Pop to aux É/logs ¥ inst/x/É PRIM Stack/Swap É/logs ¥ x/inst/É LITO 0 É/logs ¥ 0/x/inst/É PRIM Stack/Pop to aux É/logs/0 ¥ x/inst/É LCAL Normalize É/logs ¥ normalized x/inst/É LITO 1 initial k PRIM Stack/Pop to aux É/logs/1 ¥ normalized x/inst/É LITO 0 initial result PRIM Stack/Swap É/logs/1 ¥ normalized x/0/inst/É PRIM Stack/Duplicate É/logs/1 ¥ x/x/0/inst/É PRIM Ordinal/Right É/logs/1 ¥ initial z/x/0/inst/É PRIM Stack/Pop to aux É/logs/1/initial z ¥ x/0/inst/É LCAL Lg É ¥ result/inst/É PRIM List/Item to list list/inst/É LITO 0 PRIM List/Splice LITO 0 PRIM List/Splice mantisa (as TIME)/inst/É PRIM Stack/Swap inst/mantisa (as TIME)/É LITO 0 LITO 4 whole part structure PRIM S_tree/Read whole part (as TIME)/inst/mantisa (as TIME)/É PRIM Stack/Rotate down mantisa (as TIME)/whole part (as TIME)/inst/É PRIM Timer/Subtract negative log (as TIME)/inst/É CMNT scale log to do power PRIM Stack/Swap inst/negative log/É LITO 1 LITO 2 PRIM S_tree/Read exp/inst/negative log/É PRIM Stack/Xswap exp/negative log/inst/É PRIM Timer/Multiply exp*log/inst/É PRIM List/Behead int part/list/inst/É LITO 4 PRIM Stack/Swap int part/4/list/inst/É LCAL LShift int part<<4/list/inst/É PRIM Stack/Pop to aux É/int part<<4 ¥ list/inst/É PRIM List/Behead É/int part<<4 ¥ fract part/list/inst/É LITO 12 É/int part<<4 ¥ 12/fract part/list/inst/É PRIM Stack/Over É/int part<<4 ¥ fract part/12/fact part/list/inst/É LCAL RShift É/int part<<4 ¥ fract part>>12/fract part/list/inst/É PRIM Stack/Push from aux É ¥ int part<<4/fract part>>12/fract part/list/inst/É PRIM Ordinal/Ior É ¥ result int part/fract part/list/inst/É PRIM Stack/Pop to aux É/result int part ¥ fract part/list/inst/É LITO 4 PRIM Stack/Swap É/result int part ¥ fract part/4/list/inst/É LCAL LShift É/result int part ¥ fract part<<4/list/inst/É PRIM Stack/Pop to aux É/result int part/fract part<<4 ¥ list/inst/É PRIM List/List to item É/result int part/fract part<<4 ¥ remainder/inst/É LITO 12 PRIM Stack/Swap É/result int part/fract part<<4 ¥ remainder/12/inst/É LCAL RShift É/result int part/fract part<<4 ¥ remainder>>12/inst/É PRIM Stack/Push from aux É/result int part ¥ fract part<<4/remainder>>12/inst/É PRIM Ordinal/Ior É/int part ¥ fract part/inst/É PRIM Stack/Duplicate É/int part ¥ fract part/fract part/inst/É BRFL branch if no fraction for scaled log PRIM Stack/Drop É/int part ¥ inst/É PRIM Stack/Push from aux É ¥ int part/inst/É LVAL 1 1.0/int part/inst/É LCAL RShift result/inst/É LCAL Result BRTR PRIM Ordinal/Not PRIM Ordinal/Increment get negative fract. for power series PRIM Ordinal/Right and convert to value PRIM Stack/Dup to aux É/int part/fract part ¥ fract part/inst/É LITO 3 LITO 2 PRIM S_tree/Replace É/int part/fract part ¥ inst/É PRIM Stack/Push from aux É/int part ¥ fract part/inst/É CMNT compute 2^(y Lg x) to get result CMNT 1 + x + x^2/2! + x^3/3! + x^4/4! + É LVAL 0.693136 É/int part ¥ Ln 2/fract part/inst/É PRIM Value/Multiply É/int part ¥ x/inst/É PRIM Stack/Duplicate É/int part ¥ x/x/inst/É PRIM Stack/Duplicate É/int part ¥ x/x/x/inst/É PRIM Stack/Duplicate É/int part ¥ x/x/x/x/inst/É PRIM Value/Multiply É/int part ¥ x*x/x/x/inst/É PRIM Stack/Dup to aux É/int part/x^2 ¥ x*x/x/x/inst/É PRIM Ordinal/Right É/int part/x^2 ¥ (x*x/2!)/x/x/inst/É PRIM Value/Add É/int part/x^2 ¥ result/x/inst/É PRIM Stack/Over É/int part/x^2 ¥ x/result/x/inst/É PRIM Stack/Push from aux É/int part ¥ x^2/x/result/x/inst/É PRIM Value/Multiply É/int part ¥ x^3/result/x/inst/É PRIM Stack/Dup to aux É/int part/x^3 ¥ x^3/result/x/inst/É LVAL 0.166662 É/int part/x^3 ¥ 3!/x^3/result/x/inst/É PRIM Value/Multiply PRIM Value/Add É/int part/x^3 ¥ result/x/inst/É PRIM Stack/Over É/int part/x^3 ¥ x/result/x/inst/É PRIM Stack/Push from aux É/int part ¥ x^3/x/result/x/inst/É PRIM Value/Multiply É/int part ¥ x^4/result/x/inst/É PRIM Stack/Dup to aux É/int part/x^4 ¥ x^4/result/x/inst/É LVAL 0.0416578 É/int part/x^4 ¥ 4!/x^4/result/x/inst/É PRIM Value/Multiply PRIM Value/Add É/int part/x^4 ¥ result/x/inst/É PRIM Stack/Over É/int part/x^4 ¥ x/result/x/inst/É PRIM Stack/Push from aux É/int part ¥ x^4/x/result/x/inst/É PRIM Value/Multiply É/int part ¥ x^5/result/x/inst/É PRIM Stack/Dup to aux É/int part/x^5 ¥ x^5/result/x/inst/É LVAL 0.00833155 É/int part/x^5 ¥ 5!/x^5/result/x/inst/É PRIM Value/Multiply PRIM Value/Add É/int part/x^5 ¥ result/x/inst/É PRIM Stack/Push from aux É/int part ¥ x^5/result/x/inst/É PRIM Stack/Rotate down É/int part ¥ x/x^5/result/inst/É PRIM Value/Multiply É/int part ¥ x^6/result/inst/É LVAL 0.00140385 É/int part ¥ 6!/x^6/result/inst/É PRIM Value/Multiply PRIM Value/Add É/int part ¥ result/inst/É LITO 32767 É/int part ¥ 1.0/result/inst/É PRIM Ordinal/Add É/int part ¥ result/inst/É PRIM Stack/Push from aux É ¥ int part/result/inst/É PRIM Ordinal/Increment to normalize to a value PRIM Stack/Swap result/power/inst/É LCAL RShift É ¥ result/inst/É LCAL Result ESBR SGLB Temp/Get Exponent /2v,-8,8 LITO 1 exponent index LITO 2 main data structure CALL 354086 ESBR SGLB Utility/Get Output /2 LITO 2 result index LITO 2 main data structure CALL 354086 ESBR SGLB Temp/Get Mantissa /2 LITO 3 mantissa index LITO 2 main data structure CALL 354086 ESBR ESTR LDEF Normalize É/0 ¥ x/inst/É CMNT normalizes x and stores result LITO 32768 É/n ¥ 32768/x/inst/É PRIM Ordinal/Compare É/n ¥ x>=32768/x/inst/É BRFL branch if not done PRIM Stack/Push from aux É ¥ n/x/inst/É LITO 1 PRIM Ordinal/Add É ¥ n+1/x/inst/É PRIM Stack/Pop to aux É/n+1 ¥ x/inst/É PRIM Ordinal/Left É/n+1 ¥ x<<1/inst/É LCAL Normalize BRTR PRIM Stack/Swap É/n ¥ inst/x/É PRIM Stack/Push from aux É ¥ n/inst/x/É LITO 2 whole part index LITO 4 exp. structure (fake time) PRIM S_tree/Replace É ¥ inst/x/É PRIM Stack/Swap É ¥ x/inst/É EDEF LDEF Lg É/logs/1/z ¥ normalized x/0/inst/É LITO 32768 É/logs/k/z ¥ 32768/x/result/inst/É PRIM Ordinal/Test equal É/logs/k/z ¥ x=32768/x/result/inst/É BRFL bracnh if x != 32768 (1.0) PRIM Stack/Duplicate É/logs/k/z ¥ x/x//resultinst/É PRIM Stack/Dup from aux É/logs/k/z ¥ z/x/x/result/inst/É PRIM Ordinal/Subtract É/logs/k/z ¥ x-z/x/result/inst/É LITO 32768 É/logs/k/z ¥ 32768/x-z/x/result/inst/É PRIM Ordinal/Compare É/logs/k/z ¥ x-z >= 32768/x-z/x/result/inst/É BRFL branch if x-z < 32768 (1.0) PRIM Stack/Drop É/logs/k/z ¥ x/result/inst/É PRIM Stack/Push from aux É/logs/k ¥ z/x/result/inst/É PRIM Stack/Push from aux É/logs ¥ k/z/x/result/inst/É PRIM Ordinal/Increment É/logs ¥ k+1/z/x/result/inst/É PRIM Stack/Pop to aux É/logs/k+1 ¥ z/x/result/inst/É PRIM Ordinal/Right É/logs/k+1 ¥ z>>1/x/result/inst/É PRIM Stack/Pop to aux É/logs/k+1/z>>1 ¥ x/result/inst/É LCAL Lg BRTR PRIM Stack/Xdrop É/logs/k/z ¥ x-z/result/inst/É PRIM Stack/Drop from aux É/logs/k ¥ x-z/result/inst/É PRIM Stack/Push from aux É/logs ¥ k/x-z/result/inst/É PRIM Stack/Rotate down É/logs ¥ result/k/x-z/inst/É PRIM Stack/Push from aux É ¥ logs/result/k/x-z/inst/É PRIM Stack/Xover É ¥ k/logs/result/k/x-z/inst/É PRIM List/Read É ¥ log/logs/result/k/x-z/inst/É PRIM Stack/Second to aux É/logs ¥ log/result/k/x-z/inst/É PRIM Ordinal/Add É/logs ¥ result/k/x-z/inst/É PRIM Stack/Rotate up É/logs ¥ k/x-z/result/inst/É PRIM Stack/Dup to aux É/logs/k ¥ k/x-z/result/inst/É PRIM Stack/Over É/logs/k ¥ x-z/k/x-z/result/inst/É LCAL RShift É/logs/k ¥ x-z>>k/x-z/result/inst/É PRIM Stack/Pop to aux É/logs/k/x-z>>k ¥ x-z/result/inst/É LCAL Lg BRTR PRIM Stack/Drop É/logs/k/z ¥ result/inst/É PRIM Stack/Drop from aux É/logs/k ¥ result/inst/É PRIM Stack/Drop from aux É/logs ¥ result/inst/É PRIM Stack/Drop from aux É ¥ result/inst/É EDEF LDEF RShift É ¥ x/k/É PRIM Stack/Over É ¥ k/x/k/É BRFL branch if done PRIM Stack/Xdrop É ¥ x/É BRTR PRIM Ordinal/Right É ¥ x>>1/k/É PRIM Stack/Swap É ¥ k/x>>1/É PRIM Ordinal/Decrement É ¥ k-1/x>>1/É PRIM Stack/Swap É ¥ x>>1/k-1/É LCAL RShift EDEF LDEF LShift É ¥ x/k/É PRIM Stack/Over É ¥ k/x/k/É BRFL branch if done PRIM Stack/Xdrop É ¥ x/É BRTR PRIM Ordinal/Left É ¥ x<<1/k/É PRIM Stack/Swap É ¥ k/x<<1/É PRIM Ordinal/Decrement É ¥ k-1/x<<1/É PRIM Stack/Swap É ¥ x<<1/k-1/É LCAL LShift EDEF LDEF Result É ¥ result/inst/É PRIM Stack/Dup to aux É/result ¥ result/inst/É LITO 2 LITO 2 PRIM S_tree/Replace É/result ¥ inst/É PRIM Stack/Push from aux É ¥ result/inst/É GSYM Output/#1 É ¥ out #1/result/inst/É PRIM Misc/Send entry É ¥ inst/É PRIM Heap/Store self É ¥ É EDEF