Details

sample14.2m (43.7%)

Algorithm
77×intervals
Results
9.9m55642×body10240exit
1.7m42716×body1280valid
41.2s28957×body640valid
31.2s201139×body80valid
21.1s151601×body80nan
18.1s27171×body320valid
12.4s35663×body160valid
11.0s195513×pre80true
3.5s3035×body2560valid
1.5s7845×body160nan
939.0ms4138×pre10240exit
252.0ms205×body5120valid
3.0msbody320nan
2.0msbody640nan

simplify13.8m (42.4%)

rewrite1.6m (4.8%)

Algorithm
142×rewrite-expression-head
Calls

462 calls:

6.4s
(cbrt (* (* (- (* (* (tan x) (tan x)) (* (tan x) (tan x))) (* (tan x) (tan x))) (- (* (* (tan x) (tan x)) (* (tan x) (tan x))) (* (tan x) (tan x)))) (- (* (* (tan x) (tan x)) (* (tan x) (tan x))) (* (tan x) (tan x)))))
1.2s
(/ (+ (* (* (* (cos phi2) (+ (* (sin lambda2) (sin lambda1)) (* (cos lambda1) (cos lambda2)))) (* (cos phi2) (+ (* (sin lambda2) (sin lambda1)) (* (cos lambda1) (cos lambda2))))) (* (cos phi2) (+ (* (sin lambda2) (sin lambda1)) (* (cos lambda1) (cos lambda2))))) (* (cos phi1) (* (cos phi1) (cos phi1)))) (+ (* (* (cos phi2) (+ (* (sin lambda2) (sin lambda1)) (* (cos lambda1) (cos lambda2)))) (- (* (cos phi2) (+ (* (sin lambda2) (sin lambda1)) (* (cos lambda1) (cos lambda2)))) (cos phi1))) (* (cos phi1) (cos phi1))))
1.2s
(* (- (* (* (tan x) (tan x)) (* (tan x) (tan x))) (* (tan x) (tan x))) (- (* (* (tan x) (tan x)) (* (tan x) (tan x))) (* (tan x) (tan x))))
612.0ms
(/ (+ (* 1/216000 (* (* (pow x 5) (pow x 5)) (pow x 5))) (* (* (+ (* 1/3 (* x x)) 2) (+ (* 1/3 (* x x)) 2)) (* (+ (* 1/3 (* x x)) 2) (* (* x x) x)))) (+ (* (* x (+ (* 1/3 (* x x)) 2)) (* x (+ (* 1/3 (* x x)) 2))) (- (* (* 1/60 (pow x 5)) (* 1/60 (pow x 5))) (* (* x (+ (* 1/3 (* x x)) 2)) (* 1/60 (pow x 5))))))
522.0ms
(+ (* (* (* (cos phi2) (+ (* (sin lambda2) (sin lambda1)) (* (cos lambda1) (cos lambda2)))) (* (cos phi2) (+ (* (sin lambda2) (sin lambda1)) (* (cos lambda1) (cos lambda2))))) (* (cos phi2) (+ (* (sin lambda2) (sin lambda1)) (* (cos lambda1) (cos lambda2))))) (* (cos phi1) (* (cos phi1) (cos phi1))))
Rules
2285240×tan-quot
1379177×frac-times
766499×associate-*l/
762815×associate-*r/
524729×frac-sub
238596×cbrt-div
163240×sub-div
12464×flip--
12463×flip3--
4823×*-un-lft-identity
4793×times-frac
4379×add-sqr-sqrt
3096×add-cube-cbrt
2972×add-exp-log
1661×add-cbrt-cube
1602×pow1
1185×prod-exp
989×sqrt-prod
931×div-exp
753×frac-add
727×add-log-exp
699×pow-exp
669×sqrt-div
577×associate-*r*
506×associate-/r*
485×associate-*l*
470×cbrt-unprod
469×difference-of-squares
462×insert-posit16
444×cbrt-prod
425×cos-mult
409×pow-prod-down
399×flip-+
398×flip3-+
382×associate-/l*
377×distribute-lft-out
372×distribute-lft-out--
351×pow-to-exp
305×cbrt-undiv
297×div-inv
228×exp-prod
194×pow-prod-up
175×sqrt-pow1
172×log-prod
157×unswap-sqr
155×associate-/r/
154×sin-mult
139×associate-/l/
136×1-exp rec-exp
127×swap-sqr
121×*-commutative
120×sub-neg
114×pow-sqr
100×frac-2neg clear-num
96×diff-log
87×pow-plus log-pow
84×log-div
73×pow1/2 unpow-prod-down
59×difference-of-sqr-1
57×distribute-rgt-neg-in
56×distribute-rgt-in distribute-lft-in
54×pow2
49×sum-log
47×pow1/3
44×div-sub
34×distribute-lft-neg-in
32×+-commutative
31×rem-sqrt-square
28×exp-sum
25×rem-log-exp
23×associate--l+ associate--r+
21×cos-diff
20×cos-sum
19×sqr-pow associate--r-
18×associate--l- sin-diff
16×associate-+r+
13×acos-asin
12×pow-flip exp-diff distribute-rgt-out--
11×pow3
associate-+l+ cube-unmult inv-pow
associate-+l-
sin-cos-mult rem-exp-log
neg-sub0 pow-unpow pow-pow distribute-rgt-out
sqrt-unprod sum-cubes exp-neg
sin-sum un-div-inv
distribute-frac-neg neg-log acos-neg sqr-cos
associate-+r- rem-square-sqrt rem-cbrt-cube distribute-rgt1-in
remove-posit16 neg-mul-1 tanh-def difference-cubes tanh-undef asin-acos

prune1.5m (4.6%)

series58.2s (3.0%)

Calls

462 calls:

3.8s
(/ (+ (* (* (* (cos phi2) (+ (* (sin lambda2) (sin lambda1)) (* (cos lambda1) (cos lambda2)))) (* (cos phi2) (+ (* (sin lambda2) (sin lambda1)) (* (cos lambda1) (cos lambda2))))) (* (cos phi2) (+ (* (sin lambda2) (sin lambda1)) (* (cos lambda1) (cos lambda2))))) (* (cos phi1) (* (cos phi1) (cos phi1)))) (+ (* (* (cos phi2) (+ (* (sin lambda2) (sin lambda1)) (* (cos lambda1) (cos lambda2)))) (- (* (cos phi2) (+ (* (sin lambda2) (sin lambda1)) (* (cos lambda1) (cos lambda2)))) (cos phi1))) (* (cos phi1) (cos phi1))))
1.5s
(+ (* (* (* (cos phi2) (+ (* (sin lambda2) (sin lambda1)) (* (cos lambda1) (cos lambda2)))) (* (cos phi2) (+ (* (sin lambda2) (sin lambda1)) (* (cos lambda1) (cos lambda2))))) (* (cos phi2) (+ (* (sin lambda2) (sin lambda1)) (* (cos lambda1) (cos lambda2))))) (* (cos phi1) (* (cos phi1) (cos phi1))))
1.4s
(/ (+ 1/2 (- (* 1/2 (cos (* 2 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))))))))
1.4s
(/ (- (* (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))))))))
915.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))))))))

regimes22.2s (1.1%)

Accuracy

Total 70.2b remaining (34.5%)

Threshold costs 5.6b (2.7%)

10.6b42.5%Equirectangular approximation to distance on a great circle
7.4b-9.6%Cubic critical, medium range
7.3b46.9%Quadratic roots, narrow range
7.2b47.2%Cubic critical, narrow range
6.8b0%Quadratic roots, medium range

localize6.5s (0.3%)

bsearch1.0s (0.1%)

end1.0ms (0.0%)