Details

sample6.6m (46.3%)

Algorithm
78×intervals
Results
2.4m23027×body10240exit
1.7m43977×body1280valid
40.6s30309×body640valid
27.1s202307×body80valid
21.3s153582×body80nan
19.0s27867×body320valid
12.0s35906×body160valid
10.2s160815×pre80true
2.8s3077×body2560valid
1.8s8283×body160nan
876.0ms4130×pre10240exit
225.0ms222×body5120valid

prune3.3m (23.1%)

simplify2.9m (20.5%)

series42.7s (5.0%)

Calls

489 calls:

991.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))))))
614.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2))))
592.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2))))
563.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))))
534.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2))))

regimes19.1s (2.2%)

Accuracy

Total 61.3b remaining (29.8%)

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.0b61.8%Equirectangular approximation to distance on a great circle

rewrite18.5s (2.2%)

Algorithm
146×rewrite-expression-head
Calls

489 calls:

839.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))))))
627.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))))
497.0ms
(* (- (/ (- m (* m m)) v) 1) (- 1 m))
435.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))))
418.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))))
Rules
5854×times-frac
5296×add-sqr-sqrt
5284×*-un-lft-identity
3506×add-cube-cbrt
3243×add-exp-log
1816×add-cbrt-cube
1668×pow1
1203×prod-exp
1105×div-exp
939×associate-*l/
766×add-log-exp
755×difference-of-squares
730×flip--
729×flip3--
700×pow-exp
697×associate-*l*
691×associate-/r*
658×frac-times
626×associate-*r*
625×sqrt-prod
539×cbrt-prod
518×frac-add
496×associate-*r/
489×insert-posit16
475×cbrt-unprod
424×sqrt-div
415×pow-prod-down
402×cbrt-undiv
399×associate-/l*
397×div-inv
378×distribute-lft-out--
366×cos-mult
359×distribute-lft-out
352×pow-to-exp
275×sin-mult
274×associate-/r/
225×log-prod
175×pow-prod-up
167×associate-/l/
162×unswap-sqr
159×flip-+
158×flip3-+
157×1-exp rec-exp
140×difference-of-sqr-1
130×exp-prod
125×log-pow
118×frac-2neg clear-num
116×sub-neg
114×pow-sqr
113×*-commutative swap-sqr
94×diff-log
87×pow-plus
81×cbrt-div
80×unpow-prod-down
64×log-div
60×tan-quot
59×pow2
55×sqrt-pow1 pow1/2
54×sum-log
45×pow1/3
44×frac-sub
43×distribute-rgt-in distribute-lft-in
42×rem-sqrt-square
36×rem-log-exp
35×div-sub
33×+-commutative
22×exp-diff
21×pow-flip distribute-rgt-out
20×sqr-pow
17×associate-+r+ associate--l+ sub-div cos-diff
16×sin-sum
15×associate-+l+ associate--r+ inv-pow cos-sum sin-diff
11×exp-sum asin-acos
10×distribute-rgt-out-- acos-asin
associate--l- rem-exp-log
sin-cos-mult pow3 distribute-rgt1-in
pow-unpow pow-pow
cube-unmult associate-+l-
cube-prod sqr-cos
distribute-lft-neg-out distribute-frac-neg distribute-rgt-neg-in acos-neg associate--r- distribute-lft-neg-in
associate-+r- sqrt-unprod sqr-sin exp-to-pow sum-cubes exp-lft-cube rem-cbrt-cube
unsub-neg log-rec cube-mult tanh-def neg-mul-1 tanh-undef rem-square-sqrt

localize6.4s (0.7%)

bsearch733.0ms (0.1%)

end1.0ms (0.0%)