Details

simplify4.8m (35.6%)

sample3.7m (27.2%)

Algorithm
77×intervals
Results
1.2m43838×body1280valid
32.8s15278×body10240exit
26.7s30702×body640valid
20.1s201609×body80valid
13.0s151734×body80nan
12.1s27686×body320valid
9.9s36270×body160valid
6.9s150900×pre80true
1.8s2939×body2560valid
788.0ms7876×body160nan
445.0ms4066×pre10240exit
239.0ms206×body5120valid
149.0ms8186×pre80false
2.0msbody320nan

prune3.0m (22.2%)

series59.4s (7.4%)

Calls

461 calls:

1.4s
(/ (- (* (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))))))))
1.3s
(/ (- (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) 2) (pow (sin phi1) 2)) (pow (cos delta) 2)) (* (pow (sin phi1) 3) (* (cos phi1) (* (sin delta) (* (cos delta) (cos theta))))))))) (+ (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))
1.2s
(/ (+ (pow (cos phi1) 3) (pow (* (* (cos lambda1) (cos lambda2)) (cos phi2)) 3)) (+ (* (* (* (cos lambda1) (cos lambda2)) (cos phi2)) (- (* (* (cos lambda1) (cos lambda2)) (cos phi2)) (cos phi1))) (* (cos phi1) (cos phi1))))
792.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))))))))
762.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)))))))))

rewrite42.6s (5.3%)

Algorithm
138×rewrite-expression-head
Calls

461 calls:

5.1s
(/ (- (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) 2) (pow (sin phi1) 2)) (pow (cos delta) 2)) (* (pow (sin phi1) 3) (* (cos phi1) (* (sin delta) (* (cos delta) (cos theta))))))))) (+ (cos delta) (* (sin phi1) (sin (asin (+ (* (sin phi1) (cos delta)) (* (* (cos phi1) (sin delta)) (cos theta))))))))
2.3s
(- (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) 2) (pow (sin phi1) 2)) (pow (cos delta) 2)) (* (pow (sin phi1) 3) (* (cos phi1) (* (sin delta) (* (cos delta) (cos theta)))))))))
1.4s
(- (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)))))))))
1.3s
(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))))
884.0ms
(* (- (/ (/ (* m (- (pow 1.0 3) (pow m 3))) (+ (* 1.0 1.0) (+ (* m m) (* 1.0 m)))) v) 1.0) (- 1.0 m))
Rules
30846×associate-*l/
20948×frac-times
16864×flip--
16863×flip3--
16004×cbrt-div
8999×times-frac
6772×*-un-lft-identity
6501×add-sqr-sqrt
6332×associate-*r/
6237×frac-add
5984×sqrt-div
4731×add-cube-cbrt
2089×add-exp-log
1756×add-cbrt-cube
1344×pow1
1221×associate-*r*
1164×sqrt-prod
788×add-log-exp
771×associate-/l*
697×difference-of-squares
681×cbrt-prod
616×associate-/r*
596×distribute-lft-out--
568×prod-exp
528×div-exp
496×div-inv
466×cbrt-unprod
415×distribute-lft-out
414×unpow-prod-down
410×associate-*l*
396×cbrt-undiv
354×pow-prod-down
339×distribute-rgt-neg-in
281×associate-/r/
227×cube-prod
187×unswap-sqr
172×flip-+
171×flip3-+
156×sqr-pow
126×distribute-lft-neg-in
123×associate-/l/
120×log-prod
113×clear-num frac-2neg
108×*-commutative
106×pow-prod-up
101×sub-neg log-div
93×diff-log
90×sum-log
88×tan-quot
74×swap-sqr
73×exp-diff
72×pow-sqr
62×div-sub
56×unpow3 unpow2 pow-plus
54×neg-mul-1
50×cube-mult
49×pow1/3
44×log-pow frac-sub pow-exp
42×pow-to-exp
41×+-commutative
38×pow2
36×pow1/2 pow-unpow sqrt-pow1
35×1-exp exp-prod
34×associate-+l-
33×neg-sub0
32×rem-sqrt-square rec-exp
31×distribute-rgt-in distribute-lft-in distribute-rgt-out
30×sin-mult
24×cos-mult
21×neg-log
18×cos-diff
17×sin-diff
16×associate-+r+ rem-log-exp
15×cos-sum
14×pow-pow exp-sum
12×sin-cos-mult associate-+l+ acos-asin associate--l+
rem-cube-cbrt distribute-frac-neg associate--l-
distribute-rgt-out-- sub-div
rem-exp-log associate-+r- distribute-rgt-neg-out associate--r+
cube-div sin-sum sum-cubes distribute-lft1-in inv-pow pow-flip
acos-neg
unsub-neg asin-acos distribute-neg-frac rem-cbrt-cube
distribute-neg-out difference-cubes un-div-inv sqrt-unprod pow3 distribute-rgt1-in tanh-undef sqr-cos associate--r- tanh-def

regimes13.3s (1.6%)

Accuracy

Total 33.3b remaining (24.9%)

Threshold costs 7.5b (5.6%)

10.9b-6%Quotient of products
5.0b82.3%Cubic critical
4.7b83.3%Quadratic roots, full range
4.0b70.8%Equirectangular approximation to distance on a great circle
1.1b0%2-ancestry mixing, positive discriminant

localize4.5s (0.6%)

bsearch610.0ms (0.1%)

end1.0ms (0.0%)