Details

sample2.6m (50.2%)

Algorithm
77×intervals
Results
57.0s43898×body1280valid
21.9s30475×body640valid
13.9s202362×body80valid
12.6s14296×body10240exit
10.1s27404×body320valid
9.5s150858×body80nan
6.2s36126×body160valid
6.0s149913×pre80true
1.2s3099×body2560valid
858.0ms7694×body160nan
503.0ms4160×pre10240exit
145.0ms206×body5120valid
111.0ms8193×pre80false
1.0msbody320nan

series50.4s (16.1%)

Calls

508 calls:

2.8s
(sqrt (+ (- (+ (* (pow lambda2 2) (pow (- (* (cos (* phi2 0.5)) (cos (* phi1 0.5))) (* (sin (* phi2 0.5)) (sin (* phi1 0.5)))) 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.5s
(+ (pow (cos phi1) 3) (pow (* (cos phi2) (+ (* (cos lambda1) (cos lambda2)) (* (sin lambda1) (sin lambda2)))) 3))
1.2s
(sqrt (+ (- (+ (* (pow (cos (* 0.5 phi2)) 2) (* (pow (cos (* 0.5 phi1)) 2) (pow lambda2 2))) (+ (* (pow (cos (* 0.5 (+ phi2 phi1))) 2) (pow lambda1 2)) (* (pow (sin (* 0.5 phi2)) 2) (* (pow lambda2 2) (pow (sin (* 0.5 phi1)) 2))))) (+ (* (cos (* 0.5 phi2)) (* (sin (* 0.5 phi1)) (* (cos (* 0.5 phi1)) (* (sin (* 0.5 phi2)) (pow lambda2 2))))) (+ (* 2 (* lambda2 (* (pow (cos (* 0.5 (+ phi2 phi1))) 2) lambda1))) (* (cos (* 0.5 phi1)) (* (sin (* 0.5 phi2)) (* (cos (* 0.5 phi2)) (* (sin (* 0.5 phi1)) (pow lambda2 2)))))))) (* (- phi1 phi2) (- phi1 phi2))))
768.0ms
(- (+ (* (pow (cos (* 0.5 phi2)) 2) (* (pow (cos (* 0.5 phi1)) 2) (pow lambda2 2))) (+ (* (pow (cos (* 0.5 (+ phi2 phi1))) 2) (pow lambda1 2)) (* (pow (sin (* 0.5 phi2)) 2) (* (pow lambda2 2) (pow (sin (* 0.5 phi1)) 2))))) (+ (* (cos (* 0.5 phi2)) (* (sin (* 0.5 phi1)) (* (cos (* 0.5 phi1)) (* (sin (* 0.5 phi2)) (pow lambda2 2))))) (+ (* 2 (* lambda2 (* (pow (cos (* 0.5 (+ phi2 phi1))) 2) lambda1))) (* (cos (* 0.5 phi1)) (* (sin (* 0.5 phi2)) (* (cos (* 0.5 phi2)) (* (sin (* 0.5 phi1)) (pow lambda2 2))))))))
621.0ms
(- (+ (* (pow lambda2 2) (pow (- (* (cos (* phi2 0.5)) (cos (* phi1 0.5))) (* (sin (* phi2 0.5)) (sin (* phi1 0.5)))) 2)) (* (pow (cos (* 0.5 (+ phi2 phi1))) 2) (pow lambda1 2))) (* 2 (* lambda2 (* (pow (cos (* 0.5 (+ phi2 phi1))) 2) lambda1))))

prune49.7s (15.9%)

rewrite29.5s (9.4%)

Algorithm
144×rewrite-expression-head
Calls

508 calls:

5.6s
(sqrt (+ (- (+ (* (pow (cos (* 0.5 phi2)) 2) (* (pow (cos (* 0.5 phi1)) 2) (pow lambda2 2))) (+ (* (pow (cos (* 0.5 (+ phi2 phi1))) 2) (pow lambda1 2)) (* (pow (sin (* 0.5 phi2)) 2) (* (pow lambda2 2) (pow (sin (* 0.5 phi1)) 2))))) (+ (* (cos (* 0.5 phi2)) (* (sin (* 0.5 phi1)) (* (cos (* 0.5 phi1)) (* (sin (* 0.5 phi2)) (pow lambda2 2))))) (+ (* 2 (* lambda2 (* (pow (cos (* 0.5 (+ phi2 phi1))) 2) lambda1))) (* (cos (* 0.5 phi1)) (* (sin (* 0.5 phi2)) (* (cos (* 0.5 phi2)) (* (sin (* 0.5 phi1)) (pow lambda2 2)))))))) (* (- phi1 phi2) (- phi1 phi2))))
1.1s
(- (+ (* (pow (cos (* 0.5 phi2)) 2) (* (pow (cos (* 0.5 phi1)) 2) (pow lambda2 2))) (+ (* (pow (cos (* 0.5 (+ phi2 phi1))) 2) (pow lambda1 2)) (* (pow (sin (* 0.5 phi2)) 2) (* (pow lambda2 2) (pow (sin (* 0.5 phi1)) 2))))) (+ (* (cos (* 0.5 phi2)) (* (sin (* 0.5 phi1)) (* (cos (* 0.5 phi1)) (* (sin (* 0.5 phi2)) (pow lambda2 2))))) (+ (* 2 (* lambda2 (* (pow (cos (* 0.5 (+ phi2 phi1))) 2) lambda1))) (* (cos (* 0.5 phi1)) (* (sin (* 0.5 phi2)) (* (cos (* 0.5 phi2)) (* (sin (* 0.5 phi1)) (pow lambda2 2))))))))
708.0ms
(sqrt (+ (- (+ (* (pow lambda2 2) (pow (- (* (cos (* phi2 0.5)) (cos (* phi1 0.5))) (* (sin (* phi2 0.5)) (sin (* phi1 0.5)))) 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))))
604.0ms
(/ (* 4.0 a) (/ (- (- b) (sqrt (/ (- (pow b 6) (pow (* (* 4.0 a) c) 3)) (+ (* (* (* 4.0 a) c) (+ (* (* 4.0 a) c) (pow b 2))) (* (* b b) (* b b)))))) c))
603.0ms
(/ (+ 0 (* 4.0 (* a c))) (- (- b) (sqrt (/ (- (pow b 6) (pow (* (* 4.0 a) c) 3)) (+ (* (* (* 4.0 a) c) (+ (* (* 4.0 a) c) (pow b 2))) (* (* b b) (* b b)))))))
Rules
6387×times-frac
6331×*-un-lft-identity
6089×add-sqr-sqrt
3820×add-cube-cbrt
2573×add-exp-log
1946×add-cbrt-cube
1300×pow1
1157×associate-*r*
1047×sqrt-prod
887×add-log-exp
844×difference-of-squares
809×distribute-lft-out--
791×prod-exp
780×associate-/l*
678×associate-*l*
671×div-exp
562×associate-/r*
502×cbrt-unprod
455×flip--
454×flip3--
447×unpow-prod-down
431×cbrt-undiv
430×distribute-lft-out
359×sqrt-div
341×distribute-rgt-neg-in
332×div-inv
304×associate-/r/
299×cube-prod
292×pow-prod-down
273×log-prod
257×cbrt-prod
244×associate-*l/
233×flip-+
232×unswap-sqr flip3-+
225×exp-prod
208×frac-times
204×log-pow
174×associate-*r/
158×frac-add
141×sqr-pow
125×diff-log
121×sub-neg
117×clear-num frac-2neg
110×*-commutative
101×associate-/l/
98×swap-sqr pow-exp
93×distribute-lft-neg-in
92×pow-to-exp
88×sum-log pow-prod-up
75×1-exp sqrt-pow1
62×unpow3 cube-mult
60×div-sub
58×pow1/2 pow-sqr
52×rec-exp unpow2
51×frac-sub
49×log-div
46×pow-plus
43×+-commutative
42×pow-unpow
41×rem-log-exp
38×distribute-rgt-in distribute-lft-in
37×rem-sqrt-square
35×pow2 associate-+r+
33×cbrt-div
32×neg-sub0
31×neg-mul-1
30×associate-+l-
27×pow1/3
25×cos-sum
24×associate--l+
22×neg-log pow-pow
21×exp-sum
20×cos-diff tan-quot
19×sin-mult
18×distribute-rgt-out sin-diff
17×associate--l- associate-+l+ cos-mult
16×rem-cube-cbrt
14×associate--r+
13×cube-div rem-exp-log
12×acos-asin associate--r-
10×sin-cos-mult
exp-diff inv-pow pow-flip
sqrt-unprod associate-+r- distribute-frac-neg
log-rec
sin-sum rem-cbrt-cube
acos-neg distribute-rgt-neg-out
distribute-lft1-in
un-div-inv distribute-rgt-out-- unsub-neg asin-acos sum-cubes
sqrt-undiv rem-square-sqrt sub-div tanh-undef exp-to-pow tanh-def

simplify12.3s (3.9%)

regimes9.8s (3.1%)

Accuracy

Total 25.2b remaining (23.4%)

Threshold costs 6.9b (6.4%)

11.1b47.8%Equirectangular approximation to distance on a great circle
2.9b74.1%Quotient of products
1.2b95.2%Quadratic roots, full range
1.0b0%2-ancestry mixing, zero discriminant
1.0b95.8%Cubic critical

localize3.3s (1.1%)

bsearch686.0ms (0.2%)

end1.0ms (0.0%)