Details

simplify5.6m (39.4%)

sample3.8m (26.8%)

Algorithm
77×intervals
Results
1.3m43893×body1280valid
46.8s16582×body10240exit
29.2s30581×body640valid
17.4s202585×body80valid
14.7s151622×body80nan
11.7s27577×body320valid
8.1s35869×body160valid
6.5s152511×pre80true
1.7s2963×body2560valid
775.0ms7748×body160nan
485.0ms4146×pre10240exit
168.0ms210×body5120valid

prune3.2m (22.8%)

series45.0s (5.3%)

Calls

430 calls:

837.0ms
(cbrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0)))) (* (- phi1 phi2) (- phi1 phi2))))
822.0ms
(cbrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0)))) (* (- phi1 phi2) (- phi1 phi2))))
776.0ms
(cbrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0)))) (* (- phi1 phi2) (- phi1 phi2))))
733.0ms
(sqrt (* (cbrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0)))) (* (- phi1 phi2) (- phi1 phi2)))) (cbrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0)))) (* (- phi1 phi2) (- phi1 phi2))))))
641.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0))) (* (- lambda1 lambda2) (log (exp (cos (/ (+ phi1 phi2) 2.0)))))) (* (- phi1 phi2) (- phi1 phi2))))

rewrite21.5s (2.5%)

Algorithm
138×rewrite-expression-head
Calls

430 calls:

1.5s
(* (* (- (- (/ m (/ v 1.0)) (/ (* m m) v)) 1.0) (sqrt m)) (sqrt m))
1.2s
(* (- (- (/ m (/ v 1.0)) (/ (* m m) v)) 1.0) m)
1.1s
(* (- (- (/ m (/ v 1.0)) (/ (* m m) v)) 1.0) (sqrt m))
633.0ms
(sqrt (* (cbrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0)))) (* (- phi1 phi2) (- phi1 phi2)))) (cbrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0)))) (* (- phi1 phi2) (- phi1 phi2))))))
355.0ms
(- (sqrt (- (* b b) (* (* c a) 4.0))) b)
Rules
18107×associate-*l/
13690×flip--
13689×flip3--
13491×frac-times
9212×cbrt-div
8988×frac-add
4720×sqrt-div
4717×associate-*r/
4120×times-frac
3916×*-un-lft-identity
3796×add-sqr-sqrt
2754×add-cube-cbrt
2161×add-exp-log
1809×add-cbrt-cube
1123×pow1
687×prod-exp
605×add-log-exp
585×associate-*r*
523×cbrt-unprod
516×associate-*l*
502×div-exp
491×associate-/r*
405×sqrt-prod
399×associate-/l*
394×cbrt-undiv
344×difference-of-squares
306×log-prod
297×div-inv
295×distribute-lft-out
288×flip-+
287×flip3-+
285×distribute-lft-out--
282×pow-prod-down
182×associate-/r/
173×cbrt-prod
144×unswap-sqr
114×*-commutative
103×frac-2neg clear-num
99×distribute-lft-neg-in distribute-rgt-neg-in sub-neg
94×associate-/l/
62×sqrt-pow1 distribute-rgt-in distribute-lft-in
61×pow3 swap-sqr
58×cube-unmult pow-prod-up
56×diff-log
54×sum-cubes
52×pow1/3
49×1-exp rec-exp
48×log-pow
41×div-sub
40×pow1/2
35×log-div pow-sqr
34×rem-sqrt-square
33×rem-log-exp pow-plus neg-mul-1
32×sum-log
27×sin-mult unpow-prod-down
26×+-commutative
24×tan-quot
23×frac-sub exp-prod
21×associate--l+ pow2
16×sin-diff
15×cos-diff
12×cos-sum distribute-rgt-out
11×pow-flip sin-cos-mult sqr-pow
10×exp-sum
sin-sum associate-+r+ un-div-inv
distribute-frac-neg
neg-sub0 associate--l- pow-unpow inv-pow acos-asin
associate-+r-
pow-exp cos-mult pow-to-exp
associate--r+ asin-acos rem-cbrt-cube
exp-to-pow rem-exp-log acos-neg
associate-+l+ distribute-lft1-in unsub-neg
exp-diff distribute-rgt-out-- neg-log sqrt-unprod sub-div tanh-def difference-cubes pow-pow tanh-undef sqr-cos associate--r-

regimes21.0s (2.4%)

Accuracy

Total 56.6b remaining (28.1%)

Threshold costs 4.7b (2.3%)

7.3b47.4%Quadratic roots, narrow range
7.3b47.5%Cubic critical, narrow range
6.6b11.4%Quadratic roots, medium range
6.6b10.8%Cubic critical, medium range
4.8b67.3%Equirectangular approximation to distance on a great circle

localize6.7s (0.8%)

bsearch725.0ms (0.1%)

end1.0ms (0.0%)