Details

simplify3.8m (37.5%)

sample3.8m (37.2%)

Algorithm
77×intervals
Results
1.2m43416×body1280valid
36.4s15711×body10240exit
28.8s31012×body640valid
19.0s202010×body80valid
14.0s152419×body80nan
13.6s27589×body320valid
8.7s35972×body160valid
8.2s152309×pre80true
2.0s3056×body2560valid
871.0ms7814×body160nan
696.0ms4140×pre10240exit
173.0ms234×body5120valid
167.0ms8177×pre80false
3.0msbody640nan

prune1.0m (9.8%)

series51.6s (8.4%)

Calls

454 calls:

1.1s
(/ (+ (pow (cos phi1) 3) (pow (* (cos phi2) (* (cos lambda1) (cos lambda2))) 3)) (+ (* (cos phi1) (cos phi1)) (* (* (cos phi2) (* (cos lambda1) (cos lambda2))) (- (* (cos phi2) (* (cos lambda1) (cos lambda2))) (cos phi1)))))
818.0ms
(/ (+ 0 (* (* 3.0 a) c)) (- (- b) (* (fabs (cbrt (- (* b b) (* (* 3.0 a) c)))) (sqrt (cbrt (- (* b b) (* (* 3.0 a) c)))))))
682.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0))) (* (- lambda1 lambda2) (cbrt (pow (cos (/ (+ phi1 phi2) 2.0)) 3)))) (* (- phi1 phi2) (- phi1 phi2))))
638.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0))) (* (* (- lambda1 lambda2) (* (cbrt (cos (/ (+ phi1 phi2) 2.0))) (cbrt (cos (/ (+ phi1 phi2) 2.0))))) (cbrt (cos (/ (+ phi1 phi2) 2.0))))) (* (- phi1 phi2) (- phi1 phi2))))
593.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0)))) (* (- phi1 phi2) (- phi1 phi2))))

rewrite27.8s (4.5%)

Algorithm
139×rewrite-expression-head
Calls

454 calls:

907.0ms
(+ x (+ (- (/ 0.5 x) (/ 0.125 (pow x 3))) x))
906.0ms
(* (- (/ (* m (- (* 1.0 1.0) (* m m))) (/ (* v (+ (pow 1.0 3) (pow m 3))) (+ (* 1.0 1.0) (- (* m m) (* 1.0 m))))) 1.0) (- 1.0 m))
841.0ms
(* (- (/ m (/ 1 (/ (- 1.0 m) v))) 1.0) m)
648.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0))) (* (* (- lambda1 lambda2) (* (cbrt (cos (/ (+ phi1 phi2) 2.0))) (cbrt (cos (/ (+ phi1 phi2) 2.0))))) (cbrt (cos (/ (+ phi1 phi2) 2.0))))) (* (- phi1 phi2) (- phi1 phi2))))
642.0ms
(log (+ x (+ (- (/ 0.5 x) (/ 0.125 (pow x 3))) x)))
Rules
6160×times-frac
5657×*-un-lft-identity
5375×add-sqr-sqrt
3726×add-cube-cbrt
2021×add-exp-log
1700×add-cbrt-cube
1081×pow1
1024×associate-*r*
863×sqrt-prod
792×cbrt-prod
700×add-log-exp
646×associate-/r*
584×difference-of-squares
577×associate-/l*
555×prod-exp
541×associate-*l*
531×associate-*l/
527×flip--
526×flip3--
522×distribute-lft-out--
480×div-exp
478×unpow-prod-down
447×cbrt-unprod
416×distribute-lft-out
359×cbrt-undiv
322×div-inv
321×sqrt-div
319×cube-prod
314×frac-times
291×pow-prod-down
261×associate-/r/
258×associate-*r/
225×frac-add
208×unswap-sqr
185×flip-+
184×flip3-+
143×sqr-pow
122×clear-num frac-2neg
112×*-commutative
105×swap-sqr
102×distribute-rgt-neg-in
101×log-prod
98×associate-/l/
92×sub-neg
91×cbrt-div
75×diff-log
64×unpow3
63×pow1/2 sqrt-pow1
59×cube-mult
58×sum-log
56×unpow2
48×distribute-rgt-in pow-exp distribute-lft-in
45×pow1/3
42×pow-to-exp
40×1-exp
35×+-commutative div-sub
34×pow-prod-up rec-exp
33×pow-unpow rem-sqrt-square log-div
30×distribute-rgt-out
28×pow-sqr
26×cos-mult
24×associate--l+
23×log-pow frac-sub
20×tan-quot
18×neg-sub0
16×associate--l- exp-sum
15×cos-diff
14×pow-plus neg-log associate-+l- rem-log-exp
13×pow-pow sum-cubes cos-sum sin-diff
12×pow2
11×sin-cos-mult sin-mult sin-sum
10×acos-asin
cube-div rem-cube-cbrt exp-prod
associate-+r-
pow-flip associate-+r+ rem-cbrt-cube
sqrt-unprod inv-pow
un-div-inv distribute-lft1-in associate--r+
exp-diff acos-neg rem-square-sqrt distribute-frac-neg distribute-rgt-neg-out distribute-neg-frac
distribute-rgt-out--
rem-exp-log distribute-lft-neg-in distribute-rgt1-in tanh-undef asin-acos neg-mul-1 associate--r- tanh-def

regimes11.8s (1.9%)

Accuracy

Total 37.8b remaining (24.9%)

Threshold costs 6.3b (4.2%)

7.6b45.2%Quadratic roots, narrow range
3.8b72.2%Equirectangular approximation to distance on a great circle
3.6b86.3%Cubic critical
3.5b87.6%Quadratic roots, full range
3.4b71.3%Quotient of products

localize4.0s (0.6%)

bsearch692.0ms (0.1%)

end0.0ms (0.0%)