Details

simplify6.1m (39.0%)

sample4.3m (27.2%)

Algorithm
78×intervals
Results
1.3m43001×body1280valid
1.1m17823×body10240exit
28.5s30567×body640valid
19.1s202128×body80valid
14.8s151378×body80nan
13.9s27992×body320valid
9.1s36071×body160valid
9.1s153687×pre80true
1.7s3023×body2560valid
1.4s8187×body160nan
655.0ms4066×pre10240exit
138.0ms247×body5120valid
1.0msbody640nan

prune3.4m (21.5%)

rewrite44.8s (4.7%)

Algorithm
146×rewrite-expression-head
Calls

470 calls:

18.2s
(- (- (* (* (cos delta) (cos delta)) (cos delta)) (* (* (* (* (sin delta) (sin delta)) (sin delta)) (* (* (cos theta) (* (cos theta) (cos theta))) (* (* (sin phi1) (sin phi1)) (sin phi1)))) (* (cos phi1) (* (cos phi1) (cos phi1))))) (+ (* (* (cos theta) (* (cos phi1) (* (cos delta) (cos delta)))) (* (sin delta) (pow (sin phi1) 5))) (* (* (* (* (sin phi1) (sin phi1)) (* (sin phi1) (sin phi1))) (* (sin phi1) (sin phi1))) (* (* (cos delta) (cos delta)) (cos delta)))))
940.0ms
(sqrt (+ (* (* (cbrt (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))))) (cbrt (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))))) (cbrt (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))))) (* (- phi1 phi2) (- phi1 phi2))))
898.0ms
(* (/ 2 (+ (exp (+ (+ (* x -2) (* x -2)) (* x -2))) 1)) (+ (* 1 1) (- (* (exp (* x -2)) (exp (* x -2))) (* 1 (exp (* x -2))))))
742.0ms
(* (* (* (cos phi2) (cos lambda2)) (cos lambda1)) (* (* (* (cos phi2) (cos lambda2)) (cos lambda1)) (* (* (cos phi2) (cos lambda2)) (cos lambda1))))
601.0ms
(* e (sin v))
Rules
32808×associate-*l/
22221×frac-times
17029×flip--
17026×flip3--
15657×cbrt-div
8462×associate-*r/
6493×frac-add
6250×sqrt-div
4136×add-sqr-sqrt
4102×*-un-lft-identity
3880×add-exp-log
3699×times-frac
2763×add-cube-cbrt
2330×pow1
2165×add-cbrt-cube
1623×prod-exp
1430×cos-mult
1228×div-exp
995×frac-sub
990×sin-mult
857×associate-*l*
855×sqrt-prod
814×pow-prod-down
781×cbrt-unprod
734×add-log-exp
706×pow-exp
693×associate-*r*
532×cbrt-prod
491×flip-+
490×flip3-+
480×associate-/r*
470×insert-posit16
464×cbrt-undiv
429×difference-of-squares
366×distribute-lft-out
359×associate-/l*
357×pow-to-exp
328×log-prod
303×pow-prod-up
244×div-inv
239×associate-/r/
228×distribute-lft-out--
219×unswap-sqr
184×swap-sqr
175×1-exp rec-exp
165×pow-sqr
136×sub-div
131×*-commutative
129×associate-/l/
114×pow-plus
113×frac-2neg clear-num
110×unpow-prod-down
106×sub-neg
105×distribute-rgt-in distribute-lft-in
79×diff-log
74×pow2
63×exp-prod
58×sum-log
56×sqrt-pow1
51×associate--l+
50×pow1/3
46×pow1/2
43×div-sub
42×sqr-pow
39×log-pow
38×+-commutative
34×log-div
27×difference-of-sqr-1 rem-log-exp
26×tan-quot
24×cube-prod pow-unpow cos-diff
23×rem-sqrt-square
20×pow-flip
18×inv-pow
16×cos-sum
15×associate-+l+ associate--r+
14×difference-of-sqr--1 associate--l- exp-to-pow acos-asin
13×pow-pow
12×associate-+r+ associate-+l- sin-diff
11×distribute-rgt-neg-in
sin-cos-mult
sqrt-undiv distribute-neg-frac
cube-unmult neg-sub0 pow3 log-rec distribute-rgt-out
sin-sum rem-exp-log distribute-lft-neg-out
rem-cube-cbrt distribute-lft-neg-in exp-sum distribute-rgt-neg-out distribute-frac-neg neg-log sqrt-unprod cube-mult acos-neg un-div-inv unsub-neg associate--r-
exp-diff associate-+r- difference-cubes unpow3 asin-acos rem-square-sqrt rem-cbrt-cube
remove-posit16 distribute-lft1-in tanh-def neg-mul-1 tanh-undef cube-div distribute-rgt-out-- sqr-cos exp-lft-cube distribute-rgt1-in

series44.3s (4.7%)

Calls

470 calls:

1.8s
(- (pow (cos delta) 3) (pow (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) 3))
646.0ms
(- (- (* (* (cos delta) (cos delta)) (cos delta)) (* (* (* (* (sin delta) (sin delta)) (sin delta)) (* (* (cos theta) (* (cos theta) (cos theta))) (* (* (sin phi1) (sin phi1)) (sin phi1)))) (* (cos phi1) (* (cos phi1) (cos phi1))))) (+ (* (* (cos theta) (* (cos phi1) (* (cos delta) (cos delta)))) (* (sin delta) (pow (sin phi1) 5))) (* (* (* (* (sin phi1) (sin phi1)) (* (sin phi1) (sin phi1))) (* (sin phi1) (sin phi1))) (* (* (cos delta) (cos delta)) (cos delta)))))
628.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2))))
586.0ms
(sqrt (+ (* (* (cbrt (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))))) (cbrt (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))))) (cbrt (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))))) (* (- phi1 phi2) (- phi1 phi2))))
564.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (- lambda1 lambda2)) (* (cos (/ (+ phi1 phi2) 2)) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2))))

regimes19.0s (2.0%)

Accuracy

Total 64.9b remaining (33.6%)

Threshold costs 6.0b (3.1%)

8.5b36%Equirectangular approximation to distance on a great circle
7.4b46.5%Quadratic roots, narrow range
7.4b46.3%Cubic critical, narrow range
6.4b4.4%Quadratic roots, medium range
6.3b5.1%Cubic critical, medium range

localize6.7s (0.7%)

bsearch1.3s (0.1%)

end1.0ms (0.0%)