Details

sample6.6m (53.5%)

Algorithm
78×intervals
Results
2.4m23027×body10240exit
1.7m43977×body1280valid
37.9s30309×body640valid
30.2s202307×body80valid
20.0s153582×body80nan
19.3s27867×body320valid
11.8s35906×body160valid
10.5s160815×pre80true
3.4s3077×body2560valid
1.4s8283×body160nan
1.1s4130×pre10240exit
251.0ms222×body5120valid

simplify2.9m (23.7%)

prune1.4m (11.3%)

series42.1s (5.7%)

Calls

488 calls:

1.1s
(/ (* (* (cos phi2) (cos phi1)) (+ (* (* (* (cos lambda1) (cos lambda2)) (* (cos lambda1) (cos lambda2))) (* (cos lambda1) (cos lambda2))) (* (* (sin lambda1) (sin lambda2)) (* (* (sin lambda1) (sin lambda2)) (* (sin lambda1) (sin lambda2)))))) (+ (* (* (cos lambda1) (cos lambda2)) (* (cos lambda1) (cos lambda2))) (- (* (* (sin lambda1) (sin lambda2)) (* (sin lambda1) (sin lambda2))) (* (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))))
673.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2))))
642.0ms
(sqrt (- (* b b) (* (* (cbrt (* (* 3 a) c)) (cbrt (* (* 3 a) c))) (* (cbrt (* 3 a)) (cbrt c)))))
569.0ms
(sqrt (+ (* (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (- lambda1 lambda2)) (cos (/ (+ phi1 phi2) 2))) (* (- phi1 phi2) (- phi1 phi2))))
562.0ms
(sqrt (+ (* (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (- lambda1 lambda2)) (* (* (cbrt (cos (/ (+ phi1 phi2) 2))) (cbrt (cos (/ (+ phi1 phi2) 2)))) (cbrt (cos (/ (+ phi1 phi2) 2))))) (* (- phi1 phi2) (- phi1 phi2))))

regimes18.6s (2.5%)

Accuracy

Total 61.5b remaining (29.9%)

Threshold costs 5.6b (2.7%)

7.3b47%Cubic critical, narrow range
7.3b47.7%Quadratic roots, narrow range
7.0b0%Quadratic roots, medium range
7.0b0%Cubic critical, medium range
5.2b61.2%Equirectangular approximation to distance on a great circle

rewrite18.1s (2.4%)

Algorithm
146×rewrite-expression-head
Calls

488 calls:

773.0ms
(/ (* (* (cos phi2) (cos phi1)) (+ (* (* (* (cos lambda1) (cos lambda2)) (* (cos lambda1) (cos lambda2))) (* (cos lambda1) (cos lambda2))) (* (* (sin lambda1) (sin lambda2)) (* (* (sin lambda1) (sin lambda2)) (* (sin lambda1) (sin lambda2)))))) (+ (* (* (cos lambda1) (cos lambda2)) (* (cos lambda1) (cos lambda2))) (- (* (* (sin lambda1) (sin lambda2)) (* (sin lambda1) (sin lambda2))) (* (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))))
635.0ms
(cbrt (* (* (sin (/ (- lambda1 lambda2) 2)) (* (* (cbrt (sin (/ (- lambda1 lambda2) 2))) (cbrt (sin (/ (- lambda1 lambda2) 2)))) (cbrt (sin (/ (- lambda1 lambda2) 2))))) (sin (/ (- lambda1 lambda2) 2))))
496.0ms
(+ (* (* (* (cos lambda1) (cos lambda2)) (cos phi2)) (* (* (* (cos lambda1) (cos lambda2)) (cos phi2)) (* (* (cos lambda1) (cos lambda2)) (cos phi2)))) (* (cos phi1) (* (cos phi1) (cos phi1))))
386.0ms
(- (* (* (exp x) (exp x)) (* (exp x) (exp x))) (exp x))
371.0ms
(/ (+ (* 1/60 (pow x 5)) (+ (* (* 1/3 x) (* x x)) (+ x x))) (+ (exp x) (exp (- x))))
Rules
5900×times-frac
5364×*-un-lft-identity
5355×add-sqr-sqrt
3524×add-cube-cbrt
3223×add-exp-log
1784×add-cbrt-cube
1651×pow1
1193×prod-exp
1103×div-exp
962×associate-*l/
763×difference-of-squares
758×add-log-exp
744×associate-*l*
733×flip--
732×flip3--
716×sqrt-prod
700×pow-exp
685×associate-/r*
667×frac-times
623×associate-*r*
554×cbrt-prod
525×frac-add
507×associate-*r/
488×insert-posit16
463×cbrt-unprod
448×sqrt-div
425×div-inv
402×pow-prod-down
397×associate-/l*
393×cbrt-undiv
388×distribute-lft-out
376×distribute-lft-out--
366×cos-mult
352×pow-to-exp
283×associate-/r/
275×sin-mult
225×log-prod
180×pow-prod-up
169×flip-+
168×flip3-+
166×unswap-sqr
162×associate-/l/
160×1-exp rec-exp
144×difference-of-sqr-1
140×swap-sqr
130×exp-prod
125×log-pow
115×frac-2neg clear-num sub-neg
114×*-commutative
113×pow-sqr
91×pow-plus
90×diff-log
87×cbrt-div
80×unpow-prod-down
68×sqrt-pow1 pow1/2
64×log-div
60×tan-quot
59×pow2
54×sum-log
48×pow1/3
45×distribute-rgt-in distribute-lft-in
43×frac-sub
42×rem-sqrt-square
36×rem-log-exp
34×div-sub distribute-rgt-out
33×+-commutative
22×exp-diff pow-flip
20×sqr-pow
17×associate-+r+ cos-diff
16×sin-sum sub-div inv-pow
15×associate-+l+ associate--l+ associate--r+ cos-sum sin-diff
11×exp-sum asin-acos
10×acos-asin distribute-rgt1-in
rem-exp-log
associate--l- sin-cos-mult cube-unmult
pow-unpow pow-pow
distribute-rgt-out-- associate-+l-
cube-prod pow3 sqr-cos
distribute-lft-neg-out distribute-frac-neg sqrt-unprod distribute-rgt-neg-in acos-neg associate--r- distribute-lft-neg-in
associate-+r- sqr-sin exp-to-pow sum-cubes rem-square-sqrt exp-lft-cube rem-cbrt-cube
unsub-neg log-rec cube-mult tanh-def neg-mul-1 tanh-undef

localize6.2s (0.8%)

bsearch830.0ms (0.1%)

end1.0ms (0.0%)