Details

sample5.9m (38.5%)

Algorithm
78×intervals
Results
2.8m26306×body10240exit
1.3m44062×body1280valid
27.0s30590×body640valid
18.5s202821×body80valid
13.8s151501×body80nan
13.0s27500×body320valid
10.1s36204×body160valid
6.8s163295×pre80true
1.9s3073×body2560valid
926.0ms7916×body160nan
711.0ms4177×pre10240exit
108.0ms231×body5120valid
2.0msbody640nan

simplify5.4m (35.2%)

prune1.5m (10.1%)

series59.5s (6.5%)

Calls

472 calls:

4.7s
(/ (+ (* (* (* (cos phi2) (+ (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2)))) (* (cos phi2) (+ (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))) (* (cos phi2) (+ (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))) (* (cos phi1) (* (cos phi1) (cos phi1)))) (+ (* (cos phi1) (cos phi1)) (- (* (* (cos phi2) (+ (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2)))) (* (cos phi2) (+ (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))) (* (cos phi1) (* (cos phi2) (+ (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))))))
1.8s
(/ (- (- (* (cos delta) (cos delta)) (+ (* (* (cos delta) (* (sin phi1) (sin phi1))) (* (cos delta) (* (sin phi1) (sin phi1)))) (+ (* (* (cos phi1) (sin delta)) (* (* (cos theta) (cos delta)) (* (* (sin phi1) (sin phi1)) (sin phi1)))) (* (* (* (cos theta) (sin delta)) (* (* (* (sin phi1) (sin phi1)) (sin phi1)) (cos delta))) (cos phi1))))) (* (* (* (cos theta) (sin phi1)) (* (cos theta) (sin phi1))) (* (* (cos phi1) (sin delta)) (* (cos phi1) (sin delta))))) (+ (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))
1.3s
(- (* (* (cos phi2) (+ (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2)))) (* (cos phi2) (+ (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))) (* (cos phi1) (* (cos phi2) (+ (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))))
1.3s
(/ (- (* (cos delta) (cos delta)) (* (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))) (+ (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))
810.0ms
(- (* (cos delta) (cos delta)) (* (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))

rewrite58.4s (6.3%)

Algorithm
145×rewrite-expression-head
Calls

472 calls:

33.0s
(/ (- (- (* (cos delta) (cos delta)) (+ (* (* (cos delta) (* (sin phi1) (sin phi1))) (* (cos delta) (* (sin phi1) (sin phi1)))) (+ (* (* (cos phi1) (sin delta)) (* (* (cos theta) (cos delta)) (* (* (sin phi1) (sin phi1)) (sin phi1)))) (* (* (* (cos theta) (sin delta)) (* (* (* (sin phi1) (sin phi1)) (sin phi1)) (cos delta))) (cos phi1))))) (* (* (* (cos theta) (sin phi1)) (* (cos theta) (sin phi1))) (* (* (cos phi1) (sin delta)) (* (cos phi1) (sin delta))))) (+ (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))
3.0s
(- (* (cos delta) (cos delta)) (+ (* (* (cos delta) (* (sin phi1) (sin phi1))) (* (cos delta) (* (sin phi1) (sin phi1)))) (+ (* (* (cos phi1) (sin delta)) (* (* (cos theta) (cos delta)) (* (* (sin phi1) (sin phi1)) (sin phi1)))) (* (* (* (cos theta) (sin delta)) (* (* (* (sin phi1) (sin phi1)) (sin phi1)) (cos delta))) (cos phi1)))))
2.6s
(- (* (cos delta) (cos delta)) (+ (* (* (cos delta) (* (sin phi1) (sin phi1))) (* (cos delta) (* (sin phi1) (sin phi1)))) (+ (* (* (cos phi1) (sin delta)) (* (* (cos theta) (cos delta)) (* (* (sin phi1) (sin phi1)) (sin phi1)))) (* (* (* (cos theta) (sin delta)) (* (* (* (sin phi1) (sin phi1)) (sin phi1)) (cos delta))) (cos phi1)))))
1.4s
(/ (+ (* (* (* (cos phi2) (+ (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2)))) (* (cos phi2) (+ (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))) (* (cos phi2) (+ (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))) (* (cos phi1) (* (cos phi1) (cos phi1)))) (+ (* (cos phi1) (cos phi1)) (- (* (* (cos phi2) (+ (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2)))) (* (cos phi2) (+ (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))) (* (cos phi1) (* (cos phi2) (+ (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))))))
659.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0))) (* (- lambda1 lambda2) (* (* (cbrt (cos (/ (+ phi1 phi2) 2.0))) (cbrt (* (* (cbrt (cos (/ (+ phi1 phi2) 2.0))) (cbrt (cos (/ (+ phi1 phi2) 2.0)))) (cbrt (cos (/ (+ phi1 phi2) 2.0)))))) (cbrt (cos (/ (+ phi1 phi2) 2.0)))))) (* (- phi1 phi2) (- phi1 phi2))))
Rules
3788×*-un-lft-identity
3668×add-sqr-sqrt
3343×times-frac
2893×add-exp-log
2592×add-cube-cbrt
2051×add-cbrt-cube
1776×pow1
1164×associate-*r/
1055×prod-exp
962×associate-*l/
784×div-exp
722×flip--
721×flip3--
717×frac-times
708×add-log-exp
653×cbrt-unprod
647×frac-add
638×associate-*l*
565×associate-*r*
522×sqrt-prod
494×pow-prod-down
474×associate-/l*
460×associate-/r*
459×sqrt-div
416×cbrt-undiv
407×cos-mult
383×difference-of-squares
348×cbrt-prod
339×sin-mult
329×flip-+
328×flip3-+
311×distribute-lft-out--
285×div-inv
280×distribute-lft-out
268×pow-exp
239×associate-/r/
202×log-prod
201×frac-sub
188×pow-to-exp
186×pow-prod-up
168×associate-/l/
156×unswap-sqr
128×pow-plus
125×swap-sqr
120×frac-2neg clear-num *-commutative
107×sub-neg
105×cbrt-div pow-sqr
88×diff-log
75×log-pow
66×distribute-rgt-in distribute-lft-in
62×exp-prod
60×unpow-prod-down
58×pow2
56×sqrt-pow1 pow1/2 log-div
50×pow1/3
45×1-exp rec-exp
44×sum-log tan-quot
43×sin-cos-mult
41×div-sub
39×sub-div
38×rem-sqrt-square
37×associate--l+
29×rem-log-exp
28×associate--r+
26×distribute-rgt-out
23×+-commutative
19×pow-flip
18×sin-diff
16×exp-sum
15×cos-diff
14×distribute-lft1-in
13×cos-sum
12×sqr-pow inv-pow
11×pow3
associate--l- acos-asin
exp-diff
cube-unmult rem-exp-log associate--r-
distribute-lft-neg-in associate-+r- pow-unpow associate-+r+ distribute-rgt-neg-in
sin-sum
sum-cubes sqr-cos
associate-+l+ distribute-frac-neg acos-neg
distribute-rgt-neg-out neg-mul-1 pow-pow un-div-inv asin-acos associate-+l-
distribute-rgt-out-- sqrt-unprod tanh-def exp-to-pow tanh-undef rem-cbrt-cube

regimes23.6s (2.6%)

Accuracy

Total 58.9b remaining (30%)

Threshold costs 5.7b (2.9%)

7.7b42.8%Quadratic roots, narrow range
7.6b43.5%Cubic critical, narrow range
6.8b0%Quadratic roots, medium range
6.8b0%Cubic critical, medium range
4.8b68.1%Equirectangular approximation to distance on a great circle

localize7.3s (0.8%)

bsearch505.0ms (0.1%)

end1.0ms (0.0%)