Details

sample10.5m

Algorithm
72×intervals
Results
7.5m80216×body10240exit
50.8s32970×body1280valid
23.7s198789×body80valid
23.1s24408×body640valid
20.2s150219×body80nan
14.1s25264×body320valid
11.3s34806×body160valid
10.1s154414×pre80true
2.9s3177×body2560valid
1.4s4157×pre10240exit
1.3s8085×body160nan
691.0ms229×body5120valid

simplify3.4m

prune2.8m

series40.1s

Calls

447 calls:

Slowest
636.0ms
(sqrt (+ (exp (log (* (* (- lambda1 lambda2) (posit16->real (real->posit16 (cos (/ (+ phi1 phi2) 2))))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))))) (* (- phi1 phi2) (- phi1 phi2))))
602.0ms
(sqrt (+ (exp (log (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))))) (* (- phi1 phi2) (- phi1 phi2))))
579.0ms
(sqrt (+ (* (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (- lambda1 lambda2)) (cos (/ (+ phi1 phi2) 2))) (* (- phi1 phi2) (- phi1 phi2))))
574.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2))))
536.0ms
(/ (* (pow (/ 1 (+ 1 (exp (- s)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (- s))))) c_n)) (* (pow (/ 1 (+ 1 (exp (- t)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (- t))))) c_n)))

rewrite15.1s

Algorithm
136×rewrite-expression-head
Calls

447 calls:

Slowest
541.0ms
(sqrt (+ (exp (log (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))))) (* (- phi1 phi2) (- phi1 phi2))))
513.0ms
(sqrt (+ (exp (log (* (* (- lambda1 lambda2) (posit16->real (real->posit16 (cos (/ (+ phi1 phi2) 2))))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))))) (* (- phi1 phi2) (- phi1 phi2))))
402.0ms
(/ (+ (exp (+ x (+ x x))) 1) (- (* (exp x) (+ (exp x) -1)) -1))
363.0ms
(cbrt (* (* (- (/ x (+ x 1)) (/ (+ x 1) (- x 1))) (- (/ x (+ x 1)) (/ (+ x 1) (- x 1)))) (- (/ x (+ x 1)) (/ (+ x 1) (- x 1)))))
296.0ms
(* (sqrt (- (/ 2 (+ 1 (exp (* -2 x)))) 1)) (sqrt (- (/ 2 (+ 1 (exp (* -2 x)))) 1)))
Rules
4654×add-sqr-sqrt
4505×*-un-lft-identity
4267×times-frac
3198×add-exp-log
2931×add-cube-cbrt
1856×add-cbrt-cube
1716×pow1
1524×sqrt-prod
1252×prod-exp
1044×div-exp
762×associate-*l/
742×associate-*l*
730×associate-*r*
697×pow-exp add-log-exp
679×flip--
678×flip3--
576×frac-times
547×difference-of-squares
531×cbrt-unprod
516×cbrt-prod
473×associate-/r*
447×sqrt-div insert-posit16
444×associate-/l*
424×associate-*r/
420×cbrt-undiv
391×distribute-lft-out
370×pow-prod-down
349×pow-to-exp
302×pow-prod-up
287×frac-add
286×tan-quot
271×distribute-lft-out-- div-inv
266×swap-sqr
232×unswap-sqr
226×log-prod
203×log-div
171×associate-/r/
165×flip-+
164×flip3-+
156×pow-sqr
150×cbrt-div
138×1-exp pow-plus
137×rec-exp
132×exp-diff
116×frac-sub
113×frac-2neg clear-num
110×*-commutative
106×sub-neg
102×log-pow
94×pow2
85×diff-log
82×sqrt-pow1 pow1/2
74×exp-prod associate-/l/
67×difference-of-sqr-1
64×unpow-prod-down
57×pow1/3
47×sum-log
39×rem-log-exp rem-sqrt-square
38×distribute-rgt-in distribute-lft-in
37×+-commutative
26×div-sub
21×pow-flip
16×associate--l+
14×sqr-pow sub-div
13×inv-pow
12×tanh-def acos-asin
11×sqrt-undiv
10×associate-+r+ cos-sum cos-diff
associate-+l-
sin-sum exp-sum associate--r+
pow3 sin-mult distribute-rgt-out-- distribute-rgt-out
associate--l- cos-mult pow-unpow distribute-frac-neg sqrt-unprod pow-pow rem-square-sqrt acos-neg associate--r-
associate-+l+
un-div-inv distribute-neg-frac rem-exp-log distribute-rgt1-in
remove-posit16 sub0-neg neg-log associate-+r- distribute-rgt-neg-in exp-to-pow rem-cbrt-cube sin-diff
neg-sub0 difference-of-sqr--1 cube-unmult tanh-undef neg-mul-1 distribute-neg-in asin-acos cos-PI/3 unsub-neg

regimes13.3s

Accuracy

Total 62.5b remaining (35.3%)

Threshold costs 4.8b (2.7%)

8.8b35.1%Equirectangular approximation to distance on a great circle
7.5b44.5%Quadratic roots, narrow range
7.3b46%Cubic critical, narrow range
6.2b9.9%Cubic critical, medium range
5.9b12.5%Quadratic roots, medium range

localize4.6s

bsearch1.9s

end1.0ms