Details

simplify10.4m (40.7%)

sample7.3m (28.8%)

Algorithm
78×intervals
Results
3.0m25814×body10240exit
1.8m44166×body1280valid
37.5s30015×body640valid
27.4s202470×body80valid
19.6s152484×body80nan
19.3s27642×body320valid
14.8s36258×body160valid
11.3s162500×pre80true
3.6s3133×body2560valid
1.9s7984×body160nan
889.0ms4071×pre10240exit
280.0ms246×body5120valid

prune6.2m (24.4%)

series48.0s (3.1%)

Calls

461 calls:

4.0s
(/ (+ (* (* (* (cos phi2) (+ (* (sin lambda1) (sin lambda2)) (* (cos lambda1) (cos lambda2)))) (* (cos phi2) (+ (* (sin lambda1) (sin lambda2)) (* (cos lambda1) (cos lambda2))))) (* (cos phi2) (+ (* (sin lambda1) (sin lambda2)) (* (cos lambda1) (cos lambda2))))) (* (cos phi1) (* (cos phi1) (cos phi1)))) (+ (* (- (* (cos phi2) (+ (* (sin lambda1) (sin lambda2)) (* (cos lambda1) (cos lambda2)))) (cos phi1)) (* (cos phi2) (+ (* (sin lambda1) (sin lambda2)) (* (cos lambda1) (cos lambda2))))) (* (cos phi1) (cos phi1))))
1.5s
(cbrt (* (+ (* (- phi1 phi2) (- phi1 phi2)) (* (cbrt (* (cbrt (cos (/ (+ phi1 phi2) 2))) (* (cbrt (cos (/ (+ phi1 phi2) 2))) (cbrt (cos (/ (+ phi1 phi2) 2)))))) (* (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (- lambda1 lambda2)) (* (cbrt (cos (/ (+ phi1 phi2) 2))) (cbrt (cos (/ (+ phi1 phi2) 2))))))) (sqrt (+ (* (- phi1 phi2) (- phi1 phi2)) (* (cbrt (* (cbrt (cos (/ (+ phi1 phi2) 2))) (* (cbrt (cos (/ (+ phi1 phi2) 2))) (cbrt (cos (/ (+ phi1 phi2) 2)))))) (* (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (- lambda1 lambda2)) (* (cbrt (cos (/ (+ phi1 phi2) 2))) (cbrt (cos (/ (+ phi1 phi2) 2))))))))))
874.0ms
(sqrt (+ (* (- phi1 phi2) (- phi1 phi2)) (* (cbrt (* (cbrt (cos (/ (+ phi1 phi2) 2))) (* (cbrt (cos (/ (+ phi1 phi2) 2))) (cbrt (cos (/ (+ phi1 phi2) 2)))))) (* (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (- lambda1 lambda2)) (* (cbrt (cos (/ (+ phi1 phi2) 2))) (cbrt (cos (/ (+ phi1 phi2) 2))))))))
657.0ms
(log (+ (/ 1 x) (/ (sqrt (- 1 (* x x))) x)))
615.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (* (- lambda1 lambda2) (* (cbrt (cos (/ (+ phi1 phi2) 2))) (cbrt (cos (/ (+ phi1 phi2) 2))))) (cbrt (* (* (cbrt (cos (/ (+ phi1 phi2) 2))) (cbrt (cos (/ (+ phi1 phi2) 2)))) (cbrt (cos (/ (+ phi1 phi2) 2))))))) (* (- phi1 phi2) (- phi1 phi2))))

regimes18.7s (1.2%)

Accuracy

Total 69.4b remaining (33.1%)

Threshold costs 4.8b (2.3%)

10.8b-4.6%Quotient of products
10.3b43.6%Equirectangular approximation to distance on a great circle
7.0b47.4%Quadratic roots, narrow range
7.0b47.3%Cubic critical, narrow range
6.3b3.3%Cubic critical, medium range

rewrite17.8s (1.2%)

Algorithm
143×rewrite-expression-head
Calls

461 calls:

1.2s
(/ (+ (* (* (* (cos phi2) (+ (* (sin lambda1) (sin lambda2)) (* (cos lambda1) (cos lambda2)))) (* (cos phi2) (+ (* (sin lambda1) (sin lambda2)) (* (cos lambda1) (cos lambda2))))) (* (cos phi2) (+ (* (sin lambda1) (sin lambda2)) (* (cos lambda1) (cos lambda2))))) (* (cos phi1) (* (cos phi1) (cos phi1)))) (+ (* (- (* (cos phi2) (+ (* (sin lambda1) (sin lambda2)) (* (cos lambda1) (cos lambda2)))) (cos phi1)) (* (cos phi2) (+ (* (sin lambda1) (sin lambda2)) (* (cos lambda1) (cos lambda2))))) (* (cos phi1) (cos phi1))))
546.0ms
(cbrt (* (+ (* (- phi1 phi2) (- phi1 phi2)) (* (cbrt (* (cbrt (cos (/ (+ phi1 phi2) 2))) (* (cbrt (cos (/ (+ phi1 phi2) 2))) (cbrt (cos (/ (+ phi1 phi2) 2)))))) (* (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (- lambda1 lambda2)) (* (cbrt (cos (/ (+ phi1 phi2) 2))) (cbrt (cos (/ (+ phi1 phi2) 2))))))) (sqrt (+ (* (- phi1 phi2) (- phi1 phi2)) (* (cbrt (* (cbrt (cos (/ (+ phi1 phi2) 2))) (* (cbrt (cos (/ (+ phi1 phi2) 2))) (cbrt (cos (/ (+ phi1 phi2) 2)))))) (* (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (- lambda1 lambda2)) (* (cbrt (cos (/ (+ phi1 phi2) 2))) (cbrt (cos (/ (+ phi1 phi2) 2))))))))))
534.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))))
485.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (* (- lambda1 lambda2) (* (cbrt (cos (/ (+ phi1 phi2) 2))) (cbrt (cos (/ (+ phi1 phi2) 2))))) (cbrt (* (* (cbrt (cos (/ (+ phi1 phi2) 2))) (cbrt (cos (/ (+ phi1 phi2) 2)))) (cbrt (cos (/ (+ phi1 phi2) 2))))))) (* (- phi1 phi2) (- phi1 phi2))))
292.0ms
(* (* (* (/ -2 b) (/ c 1)) (* (/ -2 b) (/ c 1))) (* (/ -2 b) (/ c 1)))
Rules
20352×associate-*l/
13868×frac-times
13799×associate-*r/
13629×flip--
13628×flip3--
8986×frac-add
6146×add-exp-log
5970×add-sqr-sqrt
5776×times-frac
5278×*-un-lft-identity
5068×sqrt-div
4797×cbrt-div
3384×add-cube-cbrt
2952×prod-exp
2941×add-cbrt-cube
2237×div-exp
1540×sqrt-prod
1358×pow1
1135×cbrt-unprod
1048×associate-*r*
902×difference-of-squares
746×cbrt-undiv
698×pow-exp add-log-exp
694×associate-*l*
515×associate-/r*
485×1-exp
461×insert-posit16
441×flip-+
440×flip3-+
426×distribute-lft-out--
418×associate-/l*
349×pow-to-exp
334×pow-prod-down
311×distribute-lft-out div-inv
305×cbrt-prod
289×associate-/r/
267×unswap-sqr
252×log-prod
222×difference-of-sqr-1
182×associate-/l/
167×swap-sqr
156×rec-exp
146×cos-mult
124×*-commutative
111×pow-prod-up
107×sub-neg
99×frac-2neg clear-num
92×diff-log
80×sin-mult
75×frac-sub
72×pow-plus
71×unpow-prod-down
61×associate-+r+
55×sqrt-pow1 pow1/2
54×log-div
52×log-pow
51×pow-sqr
47×distribute-rgt-in distribute-lft-in
45×pow1/3
37×rem-sqrt-square
36×sum-log
32×associate-+l+
30×pow2 div-sub
28×+-commutative
25×associate--l+ rem-log-exp
24×tan-quot
21×pow-flip sqr-pow
20×sin-cos-mult
18×cube-prod cos-diff
16×exp-prod inv-pow
15×sin-diff
14×pow3 associate--r+
13×cos-sum
12×pow-pow
11×associate--l- sqrt-undiv distribute-rgt-out
10×associate-+l- acos-asin
pow-unpow
pow-div
cube-unmult
associate-+r-
rem-cbrt-cube
sin-sum sqrt-unprod sum-cubes exp-to-pow sub-div
distribute-frac-neg log-rec distribute-rgt-neg-in un-div-inv rem-exp-log acos-neg distribute-lft-neg-out associate--r- distribute-lft-neg-in distribute-rgt1-in
exp-diff distribute-rgt-out-- unsub-neg
remove-posit16 neg-mul-1 tanh-undef tanh-def difference-cubes asin-acos unpow1/3 rem-square-sqrt cube-mult e-exp-1

localize6.1s (0.4%)

bsearch1.6s (0.1%)

end1.0ms (0.0%)