Details

sample3.3m (39.9%)

Algorithm
78×intervals
Results
1.9m23266×body10240exit
33.9s44024×body1280valid
11.0s30814×body640valid
6.6s202184×body80valid
4.7s152103×body80nan
4.4s27677×body320valid
2.8s35629×body160valid
2.6s160053×pre80true
753.0ms3187×body2560valid
352.0ms4104×pre10240exit
334.0ms7694×body160nan
92.0ms8222×pre80false
75.0ms266×body5120valid

prune3.2m (39.1%)

series45.1s (9.1%)

Calls

508 calls:

867.0ms
(/ (- (pow (cos delta) 2) (+ (* (pow (sin phi1) 3) (* (cos phi1) (* (cos delta) (* (sin delta) (cos theta))))) (+ (* (pow (sin phi1) 2) (* (pow (cos phi1) 2) (* (pow (cos theta) 2) (pow (sin delta) 2)))) (+ (* (pow (sin phi1) 4) (pow (cos delta) 2)) (* (pow (sin phi1) 3) (* (cos phi1) (* (sin delta) (* (cos delta) (cos theta))))))))) (+ (cos delta) (+ (* (pow (sin phi1) 2) (cos delta)) (* (sin phi1) (* (cos phi1) (* (cos theta) (sin delta)))))))
848.0ms
(/ (- (* (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))))))))
624.0ms
(/ (* (pow (/ 1.0 (+ 1.0 (exp (- s)))) c_p) (pow (- 1.0 (/ 1.0 (+ 1.0 (exp (- s))))) c_n)) (* (pow (/ 1.0 (+ 1.0 (exp (- t)))) c_p) (pow (- 1.0 (/ 1.0 (+ 1.0 (exp (- t))))) c_n)))
442.0ms
(sqrt (+ (* (* (cbrt (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0))))) (cbrt (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0)))))) (cbrt (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0)))))) (* (- phi1 phi2) (- phi1 phi2))))
437.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0)))) (* (- phi1 phi2) (- phi1 phi2))))

rewrite25.4s (5.1%)

Algorithm
144×rewrite-expression-head
Calls

508 calls:

2.0s
(/ (- (pow (cos delta) 2) (+ (* (pow (sin phi1) 3) (* (cos phi1) (* (cos delta) (* (sin delta) (cos theta))))) (+ (* (pow (sin phi1) 2) (* (pow (cos phi1) 2) (* (pow (cos theta) 2) (pow (sin delta) 2)))) (+ (* (pow (sin phi1) 4) (pow (cos delta) 2)) (* (pow (sin phi1) 3) (* (cos phi1) (* (sin delta) (* (cos delta) (cos theta))))))))) (+ (cos delta) (+ (* (pow (sin phi1) 2) (cos delta)) (* (sin phi1) (* (cos phi1) (* (cos theta) (sin delta)))))))
756.0ms
(sqrt (+ (* (* (cbrt (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0))))) (exp (log (cbrt (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0)))))))) (cbrt (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0)))))) (* (- phi1 phi2) (- phi1 phi2))))
665.0ms
(sqrt (+ (* (* (cbrt (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0))))) (cbrt (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0)))))) (cbrt (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0)))))) (* (- phi1 phi2) (- phi1 phi2))))
295.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2.0)))) (* (- phi1 phi2) (- phi1 phi2))))
293.0ms
(/ (/ (+ (- (pow b 2) (pow b 2)) (* (* 3.0 a) c)) (- (- b) (sqrt (- (* b b) (* (* 3.0 a) c))))) (* 3.0 a))
Rules
60332×associate-*l/
41133×frac-times
32666×flip--
32665×flip3--
31218×cbrt-div
12203×associate-*r/
11964×sqrt-div
11879×frac-add
6652×times-frac
6120×*-un-lft-identity
6001×add-sqr-sqrt
5234×log-div
5197×exp-diff
3868×add-cube-cbrt
2930×add-exp-log
1854×add-cbrt-cube
1302×sqrt-prod
1168×pow1
1139×associate-*r*
962×prod-exp
938×div-exp
875×associate-/l*
827×add-log-exp
762×difference-of-squares
692×distribute-lft-out--
554×associate-/r*
528×unpow-prod-down associate-*l*
451×cbrt-unprod
431×cbrt-undiv
418×distribute-lft-out
391×cbrt-prod
336×div-inv
324×distribute-rgt-neg-in
312×pow-exp
286×pow-prod-down
284×associate-/r/
248×cube-prod
247×unswap-sqr
231×pow-to-exp
199×log-prod
191×flip-+
190×flip3-+
182×sqr-pow
125×associate-/l/
123×clear-num frac-2neg
117×distribute-lft-neg-in
105×*-commutative
103×sub-neg
98×1-exp
92×diff-log
85×unpow2
79×sum-log
74×pow1/3
73×exp-prod
64×log-pow
58×div-sub
57×rec-exp
54×swap-sqr sqrt-pow1
53×+-commutative
50×pow1/2 unpow3 cube-mult
46×pow-unpow
42×exp-sum
39×rem-sqrt-square neg-mul-1
36×pow-prod-up
35×neg-sub0
34×pow-pow pow-sqr
31×distribute-rgt-in distribute-lft-in
27×associate-+r+ associate-+l-
25×tan-quot
24×frac-sub
23×neg-log sin-mult
21×associate--l+ rem-log-exp
18×pow-plus associate--l-
17×sin-diff
16×distribute-rgt-out
15×cos-diff
14×pow2
13×cos-mult
12×cos-sum
11×associate-+l+
acos-asin
sin-cos-mult rem-exp-log associate--r+ associate-+r-
rem-cube-cbrt distribute-frac-neg sum-cubes
cube-div pow-sub pow-flip associate--r-
distribute-lft1-in sin-sum distribute-rgt-neg-out
sin-neg
acos-neg un-div-inv inv-pow unpow-prod-up sqrt-undiv
pow-div sqrt-unprod sub-div rem-cbrt-cube
difference-cubes e-exp-1 exp-neg rem-square-sqrt tanh-undef asin-acos tanh-def

simplify22.4s (4.5%)

regimes8.7s (1.8%)

Accuracy

Total 21.0b remaining (18.3%)

Threshold costs 7.1b (6.2%)

4.3b83.8%Quadratic roots, full range
3.9b71.6%Equirectangular approximation to distance on a great circle
3.4b70%Quotient of products
1.2b94.7%Cubic critical
1.1b0%2-ancestry mixing, zero discriminant

localize2.4s (0.5%)

bsearch526.0ms (0.1%)

end1.0ms (0.0%)