Details

simplify20.5m

Calls

11749 calls:

Slowest
2.0s
(/ (* (* (* -2 -2) -2) (* (* (* (/ a (sqrt b)) (/ a (sqrt b))) (/ a (sqrt b))) (* (* (/ c (sqrt b)) (/ c (sqrt b))) (/ c (sqrt b))))) (* (* (* 2 a) (* 2 a)) (* 2 a)))
1.9s
(/ (* (* (* (* -3/2 (/ a (sqrt b))) (/ c (sqrt b))) (* (* -3/2 (/ a (sqrt b))) (/ c (sqrt b)))) (* (* -3/2 (/ a (sqrt b))) (/ c (sqrt b)))) (* (* (* 3 a) (* 3 a)) (* 3 a)))
1.9s
(/ (* (* (* (* -3/2 (/ a (sqrt b))) (* -3/2 (/ a (sqrt b)))) (* -3/2 (/ a (sqrt b)))) (* (* (/ c (sqrt b)) (/ c (sqrt b))) (/ c (sqrt b)))) (* (* (* 3 a) (* 3 a)) (* 3 a)))
1.9s
(/ (* (* (* -2 -2) -2) (* (* (* (/ a (sqrt b)) (/ a (sqrt b))) (/ a (sqrt b))) (/ (* (* c c) c) (* (* (sqrt b) (sqrt b)) (sqrt b))))) (* (* (* 2 a) (* 2 a)) (* 2 a)))
1.8s
(/ (* (* (* (* -3/2 -3/2) -3/2) (/ (* (* a a) a) (* (* (sqrt b) (sqrt b)) (sqrt b)))) (* (* (/ c (sqrt b)) (/ c (sqrt b))) (/ c (sqrt b)))) (* (* (* 3 3) 3) (* (* a a) a)))

sample10.6m

Algorithm
71×intervals
Results
7.5m78137×body10240exit
51.1s32641×body1280valid
27.5s197548×body80valid
22.5s24388×body640valid
22.0s152422×body80nan
15.8s25652×body320valid
11.9s34979×body160valid
10.2s149764×pre80true
3.0s3085×body2560valid
2.2s8158×body160nan
983.0ms4122×pre10240exit
246.0ms237×body5120valid

prune2.8m

series34.5s

Calls

399 calls:

Slowest
878.0ms
(sqrt (+ (* (* (cos (* (+ phi1 phi2) 1/2)) (cos (* (+ phi1 phi2) 1/2))) (+ (* lambda2 lambda2) (* lambda1 (- lambda1 (* lambda2 2))))) (* (- phi1 phi2) (- phi1 phi2))))
857.0ms
(sqrt (+ (* (* (cos (* (+ phi1 phi2) 1/2)) (cos (* (+ phi1 phi2) 1/2))) (* (* (cbrt (+ (* lambda2 lambda2) (* lambda1 (- lambda1 (* lambda2 2))))) (cbrt (+ (* lambda2 lambda2) (* lambda1 (- lambda1 (* lambda2 2)))))) (cbrt (+ (* lambda2 lambda2) (* lambda1 (- lambda1 (* lambda2 2))))))) (* (- phi1 phi2) (- phi1 phi2))))
812.0ms
(sqrt (+ (* (* (cos (* (+ phi1 phi2) 1/2)) (log (exp (cos (* (+ phi1 phi2) 1/2))))) (+ (* lambda2 lambda2) (* lambda1 (- lambda1 (* lambda2 2))))) (* (- phi1 phi2) (- phi1 phi2))))
571.0ms
(sqrt (- (* b b) (* (* (* 3 a) (* (cbrt c) (cbrt c))) (* (cbrt (* (cbrt c) (cbrt c))) (cbrt (cbrt c))))))
471.0ms
(log (acos (+ (* (sin phi1) (sin phi2)) (* (* (cos phi1) (cos phi2)) (+ (* (cos lambda1) (cos lambda2)) (log (exp (* (sin lambda1) (sin lambda2)))))))))

regimes13.8s

Accuracy

Total 64.5b remaining (35.6%)

10.7b38.1%Equirectangular approximation to distance on a great circle
7.6b45.4%Quadratic roots, narrow range
7.3b46.9%Cubic critical, narrow range
6.8b0%Quadratic roots, medium range
6.7b38%Quotient of products

rewrite13.0s

Algorithm
123×rewrite-expression-head
Calls

399 calls:

Slowest
443.0ms
(log (+ x (+ (+ (/ -1/8 (* (* x x) x)) x) (/ 1/2 x))))
414.0ms
(sqrt (+ (* (* (cos (* (+ phi1 phi2) 1/2)) (cos (* (+ phi1 phi2) 1/2))) (* (* (cbrt (+ (* lambda2 lambda2) (* lambda1 (- lambda1 (* lambda2 2))))) (cbrt (+ (* lambda2 lambda2) (* lambda1 (- lambda1 (* lambda2 2)))))) (cbrt (+ (* lambda2 lambda2) (* lambda1 (- lambda1 (* lambda2 2))))))) (* (- phi1 phi2) (- phi1 phi2))))
364.0ms
(+ (+ (* (* (* x x) -1/6) x) x) (* (pow x 5) 3/40))
307.0ms
(+ (+ (* (* (* x x) -1/3) x) x) (* (pow x 5) 2/15))
280.0ms
(+ (+ (/ -1/8 (* (* x x) x)) x) (/ 1/2 x))
Rules
4244×add-sqr-sqrt
4161×*-un-lft-identity
4112×times-frac
2748×add-cube-cbrt
2194×add-exp-log
1956×add-cbrt-cube
1220×sqrt-prod
1184×frac-times
1135×pow1
922×cbrt-div
752×flip--
751×flip3--
737×associate-*r/
669×associate-*r*
665×prod-exp
655×sqrt-div
643×flip-+
642×flip3-+
631×associate-*l/
618×add-log-exp
599×associate-*l*
586×div-exp
566×cbrt-prod
565×cbrt-unprod
560×frac-add
510×cbrt-undiv
505×difference-of-squares
462×associate-/r*
404×associate-/l*
399×insert-posit16
351×distribute-lft-out
273×distribute-lft-out--
251×pow-prod-down
250×div-inv
242×cos-mult
196×swap-sqr
195×unswap-sqr
191×associate-/r/
135×sub-neg
126×log-prod
103×frac-2neg clear-num *-commutative
100×difference-of-sqr-1
90×distribute-rgt-in distribute-lft-in
85×associate-/l/
82×pow-prod-up
79×diff-log
75×log-pow
74×frac-sub
64×unpow-prod-down
58×exp-prod
57×pow-sqr
51×pow-plus
50×sqrt-pow1 pow1/2
42×1-exp
40×cube-prod
39×rem-sqrt-square associate--l+
38×sum-log
37×sqr-pow
36×rec-exp
34×pow2
29×+-commutative tan-quot
28×log-div
21×pow1/3
20×div-sub
18×associate--r+ rem-log-exp
16×pow-flip
13×distribute-rgt-out-- exp-sum inv-pow
11×cos-diff
10×associate-+r+
distribute-neg-frac
pow-exp acos-asin pow-to-exp cos-sum sum-cubes rem-exp-log associate--r- distribute-rgt-out
distribute-lft1-in un-div-inv
associate--l- sin-mult difference-cubes sub-div associate-+l-
associate-+l+ exp-diff pow-unpow distribute-frac-neg distribute-rgt-neg-out pow3 distribute-rgt-neg-in acos-neg distribute-lft-neg-in distribute-rgt1-in
sin-sum sqrt-undiv sqrt-unprod exp-to-pow
rem-cube-cbrt unsub-neg sin-cos-mult unpow3 neg-mul-1 tanh-undef tanh-def pow-pow sin-PI/3 asin-acos rem-square-sqrt cube-mult rem-cbrt-cube sin-diff

localize4.5s

bsearch1.5s

end1.0ms