Details

simplify12.3m (40.3%)

sample11.9m (39.0%)

Algorithm
78×intervals
Results
8.6m52640×body10240exit
1.3m44147×body1280valid
30.4s30669×body640valid
17.0s204615×body80valid
14.1s152194×body80nan
12.3s27484×body320valid
8.4s191160×pre80true
8.4s36041×body160valid
2.6s3042×body2560valid
1.2s7792×body160nan
447.0ms4146×pre10240exit
220.0ms227×body5120valid
3.0msbody640nan

prune3.0m (9.9%)

series1.5m (4.9%)

Calls

458 calls:

6.0s
(cbrt (* (* (- (* (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)))))))) (- (* (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))))))))))
3.5s
(/ (* (* (- (/ m (/ v (- 1.0 m))) 1.0) (+ (sqrt 1.0) (sqrt m))) (- (* 1.0 (sqrt 1.0)) (* m (sqrt m)))) (+ (* (sqrt 1.0) (sqrt 1.0)) (+ (* (sqrt m) (sqrt m)) (* (sqrt 1.0) (sqrt m)))))
3.3s
(cbrt (* (* (- (cos delta) (* (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)))))))) (log (/ (exp (cos delta)) (exp (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta)))))))))))
2.2s
(/ (+ (* (* (* (cos lambda1) (cos phi2)) (cos lambda2)) (* (* (* (cos lambda1) (cos phi2)) (cos lambda2)) (* (* (cos lambda1) (cos phi2)) (cos lambda2)))) (* (* (cos phi1) (cos phi1)) (cos phi1))) (+ (* (* (cos phi2) (* (cos lambda2) (cos lambda1))) (- (* (cos phi2) (* (cos lambda2) (cos lambda1))) (cos phi1))) (* (cos phi1) (cos phi1))))
1.8s
(- (* (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))))))))

regimes53.1s (2.9%)

Accuracy

Total 67.0b remaining (33.9%)

Threshold costs 5.6b (2.8%)

11.1b33.1%Equirectangular approximation to distance on a great circle
7.5b44.9%Cubic critical, narrow range
7.4b46%Quadratic roots, narrow range
6.3b11.8%Quadratic roots, medium range
6.2b12.4%Cubic critical, medium range

rewrite37.4s (2.0%)

Algorithm
145×rewrite-expression-head
Calls

458 calls:

2.1s
(/ (+ (* (* (* (cos lambda1) (cos phi2)) (cos lambda2)) (* (* (* (cos lambda1) (cos phi2)) (cos lambda2)) (* (* (cos lambda1) (cos phi2)) (cos lambda2)))) (* (* (cos phi1) (cos phi1)) (cos phi1))) (+ (* (* (cos phi2) (* (cos lambda2) (cos lambda1))) (- (* (cos phi2) (* (cos lambda2) (cos lambda1))) (cos phi1))) (* (cos phi1) (cos phi1))))
1.3s
(- (log 2) (+ (- (/ 0.09375 (* (* x x) (* x x))) (log x)) (/ 0.25 (* x x))))
1.2s
(sqrt (+ (exp (log (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0)))))) (* (- phi1 phi2) (- phi1 phi2))))
914.0ms
(/ (* (* (- (/ m (/ v (- 1.0 m))) 1.0) (+ (sqrt 1.0) (sqrt m))) (- (* 1.0 (sqrt 1.0)) (* m (sqrt m)))) (+ (* (sqrt 1.0) (sqrt 1.0)) (+ (* (sqrt m) (sqrt m)) (* (sqrt 1.0) (sqrt m)))))
783.0ms
(- (- (/ 0.125 (* (* x x) x)) (/ 0.5 x)) (/ 0.0625 (pow x 5)))
Rules
3854×add-sqr-sqrt
3788×*-un-lft-identity
3525×times-frac
3232×add-exp-log
2849×pow1
2606×add-cube-cbrt
2390×add-cbrt-cube
1254×prod-exp
1195×associate-*l/
1138×frac-times
898×pow-prod-down
853×cbrt-unprod
849×div-exp
815×flip--
814×flip3--
786×associate-*l*
734×associate-*r*
690×add-log-exp
579×associate-*r/
560×pow-prod-up
475×cbrt-undiv
458×insert-posit16
434×sqrt-prod
428×associate-/r*
412×tan-quot
408×cbrt-div difference-of-squares
373×cos-mult
372×associate-/l*
363×sqrt-div
354×distribute-lft-out--
302×sin-mult
297×pow-plus
291×frac-add
290×div-inv
274×pow-exp
239×distribute-lft-out
225×pow-sqr
206×log-prod
200×swap-sqr
199×associate-/r/
194×pow-to-exp
193×cbrt-prod
191×unswap-sqr
189×frac-sub
141×log-div
139×flip-+
138×flip3-+
130×*-commutative
117×pow2
113×associate-/l/
110×unpow-prod-down
109×frac-2neg clear-num log-pow
104×sub-neg
99×sub-div
92×diff-log
70×sqrt-pow1 pow1/2
65×exp-diff
49×1-exp
46×rem-log-exp
39×distribute-rgt-in distribute-lft-in
38×sum-log pow3
37×rec-exp
34×pow1/3 sqr-pow div-sub
33×rem-sqrt-square
27×associate--l+
22×+-commutative
19×distribute-rgt-out
18×cos-diff sin-diff
15×cos-sum
14×associate--r+
13×distribute-rgt-neg-in
12×cube-unmult
10×pow-flip
associate--l- inv-pow acos-asin
sin-cos-mult exp-sum exp-prod
distribute-lft-neg-in pow-unpow associate--r-
sin-sum sum-cubes
neg-sub0 associate-+r- associate-+r+ neg-log sqrt-unprod associate-+l- rem-cbrt-cube
distribute-lft1-in distribute-frac-neg un-div-inv acos-neg rem-square-sqrt
remove-posit16 distribute-rgt-neg-out neg-mul-1 pow-pow distribute-neg-frac
tanh-def difference-cubes rem-exp-log asin-acos tanh-undef sqr-cos

localize13.8s (0.8%)

bsearch970.0ms (0.1%)

end1.0ms (0.0%)