Details

sample14.3m (44.0%)

Algorithm
77×intervals
Results
9.8m56232×body10240exit
1.8m42716×body1280valid
41.2s28957×body640valid
30.7s201190×body80valid
21.6s151601×body80nan
17.6s27171×body320valid
13.2s35663×body160valid
12.1s196154×pre80true
3.0s3035×body2560valid
1.4s7845×body160nan
935.0ms4138×pre10240exit
302.0ms205×body5120valid
4.0msbody320nan
2.0msbody640nan

simplify13.5m (41.5%)

rewrite1.8m (5.4%)

Algorithm
142×rewrite-expression-head
Calls

465 calls:

7.2s
(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.1s
(/ (+ (* (* (* (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))))
965.0ms
(* (- (* (* (tan x) (tan x)) (* (tan x) (tan x))) (* (tan x) (tan x))) (- (* (* (tan x) (tan x)) (* (tan x) (tan x))) (* (tan x) (tan x))))
622.0ms
(log (+ x (- x (- (/ 1/8 (* (* x x) x)) (/ 1/2 x)))))
553.0ms
(* (* (- (/ (* m (- 1 m)) v) 1) (+ 1 (sqrt m))) (- 1 (sqrt m)))
Rules
2285240×tan-quot
1379219×frac-times
766565×associate-*l/
762830×associate-*r/
524753×frac-sub
238599×cbrt-div
163250×sub-div
12466×flip--
12465×flip3--
5746×times-frac
5184×*-un-lft-identity
4795×add-sqr-sqrt
3396×add-cube-cbrt
3148×add-exp-log
1783×add-cbrt-cube
1607×pow1
1210×prod-exp
1067×sqrt-prod
1053×div-exp
737×add-log-exp
729×frac-add
699×pow-exp
669×sqrt-div
644×associate-*r*
619×associate-/r*
536×difference-of-squares
489×cbrt-unprod
474×cos-mult
465×insert-posit16
458×associate-*l*
416×pow-prod-down
409×distribute-lft-out--
400×flip-+
399×flip3-+
383×cbrt-undiv
374×distribute-lft-out
369×associate-/l*
351×pow-to-exp
334×cbrt-prod
331×div-inv
322×exp-prod
212×pow-prod-up
194×sin-mult
178×associate-/l/
174×log-prod sqrt-pow1
161×unswap-sqr
153×associate-/r/
144×1-exp rec-exp
133×swap-sqr
132×pow-sqr
125×sub-neg
122×*-commutative
97×diff-log
95×frac-2neg clear-num
94×pow-plus
88×log-pow
81×distribute-rgt-neg-in
80×log-div
74×unpow-prod-down
72×pow1/2
62×distribute-rgt-in distribute-lft-in
60×difference-of-sqr-1
57×pow2
54×distribute-lft-neg-in
52×sum-log
48×pow1/3
46×div-sub
35×+-commutative
31×rem-sqrt-square
28×exp-sum
27×associate--l+
25×rem-log-exp
24×associate--r+
22×cos-sum associate--r-
21×cos-diff
20×associate-+r+ sqr-pow
19×associate--l-
18×exp-diff sin-diff
15×pow3
13×acos-asin
12×neg-sub0 exp-neg
11×pow-flip
10×inv-pow
neg-mul-1
associate-+l-
associate-+l+ sin-cos-mult rem-exp-log
pow-unpow cube-unmult pow-pow distribute-rgt-out-- distribute-rgt-out
sqrt-unprod sum-cubes un-div-inv
sin-sum
associate-+r- distribute-frac-neg neg-log acos-neg sqr-cos rem-cbrt-cube cos-PI/3
asin-acos rem-square-sqrt distribute-rgt1-in
remove-posit16 tanh-def difference-cubes sin-PI/3 tanh-undef

prune1.5m (4.5%)

series59.0s (3.0%)

Calls

465 calls:

4.1s
(/ (+ (* (* (* (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.3s
(/ (+ 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.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))))))))
1.0s
(/ (* (* (cos phi1) (cos phi2)) (- (* (* (cos lambda1) (cos lambda2)) (* (cos lambda1) (cos lambda2))) (* (* (sin lambda1) (sin lambda2)) (* (sin lambda1) (sin lambda2))))) (- (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2))))

regimes21.4s (1.1%)

Accuracy

Total 67.9b remaining (33.4%)

Threshold costs 6.3b (3.1%)

10.1b43.7%Equirectangular approximation to distance on a great circle
7.4b-9.6%Cubic critical, medium range
7.3b46.9%Quadratic roots, narrow range
7.3b47%Cubic critical, narrow range
6.8b0%Quadratic roots, medium range

localize7.4s (0.4%)

bsearch1.1s (0.1%)

end1.0ms (0.0%)