Details

simplify15.6m

Calls

5589 calls:

Slowest
2.0s
(/ (* (* (* -2 (* a c)) (* -2 (* a c))) (* -2 (* a c))) (* (* (* (* 2 a) b) (* (* 2 a) b)) (* (* 2 a) b)))
1.5s
(sqrt (+ (* (* (* (- (* lambda1 lambda1) (* lambda2 lambda2)) (cos (/ (+ phi1 phi2) 2))) (* (- (* lambda1 lambda1) (* lambda2 lambda2)) (cbrt (* (+ (cos (+ (/ (+ phi1 phi2) 2) (/ (+ phi1 phi2) 2))) (cos (- (/ (+ phi1 phi2) 2) (/ (+ phi1 phi2) 2)))) (cos (/ (+ phi1 phi2) 2)))))) (* (+ (* phi1 phi1) (+ (* phi2 phi2) (* phi1 phi2))) (+ (* phi1 phi1) (+ (* phi2 phi2) (* phi1 phi2))))) (* (* (+ lambda1 lambda2) (* (+ lambda1 lambda2) (cbrt 2))) (* (- (pow phi1 3) (pow phi2 3)) (- (pow phi1 3) (pow phi2 3))))))
1.3s
(sqrt (+ (* (* (* (- (* lambda1 lambda1) (* lambda2 lambda2)) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cbrt (* (+ (cos (+ (/ (+ phi1 phi2) 2) (/ (+ phi1 phi2) 2))) (cos (- (/ (+ phi1 phi2) 2) (/ (+ phi1 phi2) 2)))) (cos (/ (+ phi1 phi2) 2)))))) (* (+ phi1 phi2) (+ (* phi1 phi1) (+ (* phi2 phi2) (* phi1 phi2))))) (* (* (+ lambda1 lambda2) (cbrt 2)) (* (- (* phi1 phi1) (* phi2 phi2)) (- (pow phi1 3) (pow phi2 3))))))
1.3s
(sqrt (+ (* (* (* (- (* lambda1 lambda1) (* lambda2 lambda2)) (cos (/ (+ phi1 phi2) 2))) (* (- (* lambda1 lambda1) (* lambda2 lambda2)) (cbrt (* (+ (cos (+ (/ (+ phi1 phi2) 2) (/ (+ phi1 phi2) 2))) (cos (- (/ (+ phi1 phi2) 2) (/ (+ phi1 phi2) 2)))) (cos (/ (+ phi1 phi2) 2)))))) (* (+ (* phi1 phi1) (+ (* phi2 phi2) (* phi1 phi2))) (+ phi1 phi2))) (* (* (+ lambda1 lambda2) (* (+ lambda1 lambda2) (cbrt 2))) (* (- (pow phi1 3) (pow phi2 3)) (- (* phi1 phi1) (* phi2 phi2))))))
1.3s
(sqrt (+ (* (* (* (- (pow lambda1 3) (pow lambda2 3)) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (+ (* phi1 phi1) (+ (* phi2 phi2) (* phi1 phi2))) (+ phi1 phi2))) (* (+ (* lambda1 lambda1) (+ (* lambda2 lambda2) (* lambda1 lambda2))) (* (- (pow phi1 3) (pow phi2 3)) (- (* phi1 phi1) (* phi2 phi2))))))

sample10.5m

Algorithm
72×intervals
Results
7.6m79291×body10240exit
52.1s33327×body1280valid
24.1s197651×body80valid
21.9s24490×body640valid
20.5s152095×body80nan
14.0s24979×body320valid
12.5s34866×body160valid
9.9s152859×pre80true
3.0s3032×body2560valid
1.9s7999×body160nan
1.3s4071×pre10240exit
216.0ms210×body5120valid

prune2.1m

series25.7s

Calls

419 calls:

Slowest
578.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cbrt (* (* (cos (/ (+ phi1 phi2) 2)) (cos (/ (+ phi1 phi2) 2))) (cos (/ (+ phi1 phi2) 2)))))) (* (- phi1 phi2) (- phi1 phi2))))
468.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2)))) (* (- phi1 phi2) (- phi1 phi2))))
460.0ms
(/ (* (pow (/ 1 (+ 1 (exp (- s)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (- s))))) c_n)) (* (pow (/ 1 (+ 1 (exp (- t)))) c_p) (pow (- 1 (/ 1 (+ 1 (exp (- t))))) c_n)))
423.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cbrt (* (* (cos (/ (+ phi1 phi2) 2)) (cos (/ (+ phi1 phi2) 2))) (cos (/ (+ phi1 phi2) 2)))))) (* (- phi1 phi2) (- phi1 phi2))))
406.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cbrt (* (* (cos (/ (+ phi1 phi2) 2)) (cos (/ (+ phi1 phi2) 2))) (cos (/ (+ phi1 phi2) 2)))))) (* (- phi1 phi2) (- phi1 phi2))))

regimes12.4s

Accuracy

Total 62.3b remaining (35.2%)

7.8b41.9%Cubic critical, narrow range
7.2b46.9%Quadratic roots, narrow range
6.8b0%Cubic critical, medium range
5.9b12.7%Quadratic roots, medium range
5.9b58.4%Equirectangular approximation to distance on a great circle

rewrite4.0s

Algorithm
131×rewrite-expression-head
Calls

419 calls:

Slowest
118.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cbrt (* (* (cos (/ (+ phi1 phi2) 2)) (cos (/ (+ phi1 phi2) 2))) (cos (/ (+ phi1 phi2) 2)))))) (* (- phi1 phi2) (- phi1 phi2))))
102.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cbrt (* (* (cos (/ (+ phi1 phi2) 2)) (cos (/ (+ phi1 phi2) 2))) (cos (/ (+ phi1 phi2) 2)))))) (* (- phi1 phi2) (- phi1 phi2))))
79.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cbrt (* (* (cos (/ (+ phi1 phi2) 2)) (cos (/ (+ phi1 phi2) 2))) (cos (/ (+ phi1 phi2) 2)))))) (* (- phi1 phi2) (- phi1 phi2))))
67.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cbrt (* (* (cos (/ (+ phi1 phi2) 2)) (cos (/ (+ phi1 phi2) 2))) (cos (/ (+ phi1 phi2) 2)))))) (* (- phi1 phi2) (- phi1 phi2))))
65.0ms
(sqrt (+ (* (* (- lambda1 lambda2) (cos (/ (+ phi1 phi2) 2))) (* (- lambda1 lambda2) (cbrt (* (* (cos (/ (+ phi1 phi2) 2)) (cos (/ (+ phi1 phi2) 2))) (cos (/ (+ phi1 phi2) 2)))))) (* (- phi1 phi2) (- phi1 phi2))))
Rules
2160×associate-*l/
1826×flip--
1825×flip3--
1699×frac-times
1181×sqrt-div
1133×add-exp-log
1039×*-un-lft-identity
1037×frac-add
1011×add-sqr-sqrt
929×associate-*r/
867×add-cube-cbrt
717×pow1
652×cbrt-div
624×add-cbrt-cube
536×add-log-exp
506×cos-mult
419×insert-posit16
384×prod-exp
308×times-frac
264×pow-exp
258×associate-*r*
212×div-exp
208×associate-*l*
204×associate-/r*
196×div-inv
190×log-prod
187×sqrt-prod
184×pow-to-exp
134×associate-/r/
128×sub-neg
127×associate-/l*
119×flip-+
118×flip3-+
106×frac-sub *-commutative
102×rec-exp
100×distribute-rgt-in distribute-lft-in
99×frac-2neg clear-num
88×pow-prod-down
79×log-pow
74×cbrt-prod log-div
71×cbrt-unprod
66×tan-quot
61×difference-of-squares
57×associate-/l/
53×distribute-lft-out--
51×distribute-lft-out
49×pow1/2
45×pow-prod-up
44×diff-log
43×associate--l+
41×cbrt-undiv rem-sqrt-square
39×pow1/3
34×exp-prod
33×associate--r+
32×associate-+r+
30×pow-plus
28×+-commutative
26×pow-flip pow2
23×rem-log-exp
22×sum-log
17×div-sub
16×unpow-prod-down associate--r-
15×associate--l- difference-of-sqr-1
14×inv-pow
12×cos-diff
10×associate-+l+ associate-+l-
un-div-inv cos-sum acos-asin distribute-rgt-out
pow-pow
exp-diff sin-mult sub-div
cube-prod associate-+r- difference-cubes distribute-rgt1-in
neg-sub0 distribute-lft-neg-out distribute-frac-neg exp-sum sqrt-unprod acos-neg
sin-sum pow3 rem-exp-log rem-cbrt-cube
pow-div unsub-neg distribute-rgt-out-- sin-cos-mult neg-mul-1 tanh-undef tanh-def sin-PI/3 exp-to-pow asin-acos sin-diff

localize2.8s

bsearch1.5s

end1.0ms