Details

sample8.0m (52.7%)

Algorithm
78×intervals
Results
4.7m34364×body10240exit
1.3m43846×body1280valid
29.5s30562×body640valid
19.5s203326×body80valid
16.5s153094×body80nan
12.7s27510×body320valid
8.2s172374×pre80true
8.2s36242×body160valid
1.7s3009×body2560valid
890.0ms8009×body160nan
444.0ms4182×pre10240exit
230.0ms8017×pre80false
182.0ms183×body5120valid
2.0msbody640nan

simplify4.3m (28.5%)

series1.1m (7.0%)

Calls

465 calls:

5.2s
(sqrt (+ (- (+ (* (pow lambda2 2) (pow (- (* (cos (* 0.5 phi2)) (cos (* 0.5 phi1))) (* (sin (* 0.5 phi2)) (sin (* 0.5 phi1)))) 2)) (* (pow (- (* (cos (* 0.5 phi2)) (cos (* 0.5 phi1))) (* (sin (* phi2 0.5)) (sin (* phi1 0.5)))) 2) (pow lambda1 2))) (* 2 (* lambda2 (* (pow (cos (* 0.5 (+ phi2 phi1))) 2) lambda1)))) (* (- phi1 phi2) (- phi1 phi2))))
4.1s
(sqrt (+ (- (+ (* (pow lambda2 2) (pow (- (* (cos (* 0.5 phi2)) (cos (* 0.5 phi1))) (* (sin (* 0.5 phi2)) (sin (* 0.5 phi1)))) 2)) (* (pow (cos (* 0.5 (+ phi2 phi1))) 2) (pow lambda1 2))) (* 2 (* lambda2 (* (pow (cos (* 0.5 (+ phi2 phi1))) 2) lambda1)))) (* (- phi1 phi2) (- phi1 phi2))))
1.3s
(- (+ (* (pow lambda2 2) (pow (- (* (cos (* 0.5 phi2)) (cos (* 0.5 phi1))) (* (sin (* 0.5 phi2)) (sin (* 0.5 phi1)))) 2)) (* (pow (- (* (cos (* 0.5 phi2)) (cos (* 0.5 phi1))) (* (sin (* phi2 0.5)) (sin (* phi1 0.5)))) 2) (pow lambda1 2))) (* 2 (* lambda2 (* (pow (cos (* 0.5 (+ phi2 phi1))) 2) lambda1))))
903.0ms
(- (+ (* (pow lambda2 2) (pow (- (* (cos (* 0.5 phi2)) (cos (* 0.5 phi1))) (* (sin (* 0.5 phi2)) (sin (* 0.5 phi1)))) 2)) (* (pow (cos (* 0.5 (+ phi2 phi1))) 2) (pow lambda1 2))) (* 2 (* lambda2 (* (pow (cos (* 0.5 (+ phi2 phi1))) 2) lambda1))))
854.0ms
(sqrt (+ (- (+ (* (pow lambda2 2) (pow (cos (* 0.5 (+ phi2 phi1))) 2)) (* (pow (cos (* 0.5 (+ phi2 phi1))) 2) (pow lambda1 2))) (* 2 (* lambda2 (* (pow (cos (* 0.5 (+ phi2 phi1))) 2) lambda1)))) (* (- phi1 phi2) (- phi1 phi2))))

prune1.0m (6.8%)

rewrite26.9s (2.9%)

Algorithm
141×rewrite-expression-head
Calls

465 calls:

1.4s
(* (- (- (* 1.0 (/ m v)) (/ (sqrt (pow m 2)) (/ v (fabs m)))) 1.0) (- 1.0 m))
1.0s
(sqrt (+ (- (+ (* (pow lambda2 2) (pow (- (* (cos (* 0.5 phi2)) (cos (* 0.5 phi1))) (* (sin (* 0.5 phi2)) (sin (* 0.5 phi1)))) 2)) (* (pow (- (* (cos (* 0.5 phi2)) (cos (* 0.5 phi1))) (* (sin (* phi2 0.5)) (sin (* phi1 0.5)))) 2) (pow lambda1 2))) (* 2 (* lambda2 (* (pow (cos (* 0.5 (+ phi2 phi1))) 2) lambda1)))) (* (- phi1 phi2) (- phi1 phi2))))
988.0ms
(sqrt (+ (- (+ (* (pow lambda2 2) (pow (- (* (cos (* 0.5 phi2)) (cos (* 0.5 phi1))) (* (sin (* 0.5 phi2)) (sin (* 0.5 phi1)))) 2)) (* (pow (cos (* 0.5 (+ phi2 phi1))) 2) (pow lambda1 2))) (* 2 (* lambda2 (* (pow (cos (* 0.5 (+ phi2 phi1))) 2) lambda1)))) (* (- phi1 phi2) (- phi1 phi2))))
700.0ms
(/ (- (/ 4.0 (pow (+ (exp (* -2.0 x)) 1.0) 2)) 1.0) (+ 1.0 (/ (/ 2.0 (sqrt (+ 1.0 (exp (* -2.0 x))))) (sqrt (+ 1.0 (exp (* -2.0 x)))))))
679.0ms
(- (- (/ 0.125 (pow x 3)) (/ 0.5 x)) (/ 0.0625 (pow x 5)))
Rules
5170×times-frac
4807×add-sqr-sqrt
4709×*-un-lft-identity
3075×add-exp-log
3068×add-cube-cbrt
1750×add-cbrt-cube
1050×div-exp
1026×prod-exp
1009×associate-*r*
919×sqrt-prod
898×pow1
749×add-log-exp
640×associate-/l*
636×unpow-prod-down
617×difference-of-squares
532×distribute-lft-out--
511×associate-/r*
450×cbrt-undiv
435×associate-*l*
412×flip--
411×flip3--
401×cbrt-unprod
388×pow-exp
355×div-inv
307×cube-prod
292×pow-to-exp
287×distribute-lft-out
256×cbrt-prod
244×associate-/r/
222×unswap-sqr
215×sqr-pow
209×associate-*l/
202×sqrt-div
179×distribute-rgt-neg-in
171×pow-prod-down
148×associate-*r/
147×frac-times
146×log-prod
135×frac-add
130×flip-+
129×flip3-+
117×clear-num frac-2neg
108×sub-neg
97×*-commutative
91×diff-log
88×1-exp
86×associate-/l/
82×unpow2
77×unpow3 cube-mult
59×sum-log
58×swap-sqr
57×rec-exp
54×pow-unpow
50×log-pow
48×cbrt-div
45×exp-prod log-div
44×pow1/3
38×pow1/2 sqrt-pow1
37×distribute-rgt-in rem-sqrt-square distribute-lft-in +-commutative div-sub
27×associate--l+
22×tan-quot pow-pow
21×cos-sum
20×rem-log-exp
19×exp-sum frac-sub
18×distribute-lft-neg-in sin-diff
16×neg-sub0 sin-mult
15×pow-sqr pow-prod-up
14×cube-div associate--l- distribute-rgt-neg-out
13×sin-cos-mult distribute-rgt-out associate--r+
12×cos-diff
11×pow2 pow-plus neg-log
10×cos-mult associate-+l-
acos-asin
rem-exp-log
sin-sum
rem-cube-cbrt pow-flip associate--r-
exp-diff inv-pow associate-+r+
sqrt-undiv associate-+r- neg-mul-1 distribute-neg-frac rem-cbrt-cube
acos-neg unsub-neg distribute-frac-neg
un-div-inv distribute-lft1-in sqrt-unprod distribute-rgt-out-- associate-+l+ sub-div
distribute-neg-out tanh-undef asin-acos sum-cubes exp-to-pow tanh-def

regimes13.6s (1.5%)

Accuracy

Total 31.3b remaining (25.8%)

Threshold costs 7.3b (6%)

9.1b50.9%Equirectangular approximation to distance on a great circle
4.3b84.6%Quadratic roots, full range
3.4b0%Cubic critical, wide range
3.4b0%Quadratic roots, wide range
2.3b79.7%Quotient of products

localize4.4s (0.5%)

bsearch950.0ms (0.1%)

end1.0ms (0.0%)