Details

simplify1.1hr

Calls

25601 calls:

Slowest
2.1s
(/ (* (* (* (fma (+ (+ alpha beta) i) i (* beta alpha)) (* (+ (+ alpha beta) i) i)) (* (fma (+ (+ alpha beta) i) i (* beta alpha)) (* (+ (+ alpha beta) i) i))) (* (fma (+ (+ alpha beta) i) i (* beta alpha)) (* (+ (+ alpha beta) i) i))) (* (* (* (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta))) (* (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta)))) (* (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta)))))
2.0s
(* (/ (* (* 1 1) 1) (* (* (sqrt PI) (sqrt PI)) (sqrt PI))) (* (* (* (+ (+ (/ 3/4 (pow (fabs x) 5)) (+ (/ 15/8 (pow (fabs x) 7)) (/ 1 (fabs x)))) (/ 1/2 (* (fabs x) (* (fabs x) (fabs x))))) (+ (+ (/ 3/4 (pow (fabs x) 5)) (+ (/ 15/8 (pow (fabs x) 7)) (/ 1 (fabs x)))) (/ 1/2 (* (fabs x) (* (fabs x) (fabs x)))))) (+ (+ (/ 3/4 (pow (fabs x) 5)) (+ (/ 15/8 (pow (fabs x) 7)) (/ 1 (fabs x)))) (/ 1/2 (* (fabs x) (* (fabs x) (fabs x)))))) (* (* (exp (* (fabs x) (fabs x))) (exp (* (fabs x) (fabs x)))) (exp (* (fabs x) (fabs x))))))
1.9s
(* (+ (* (* x.re x.re) (* x.re x.re)) (+ (* (* x.im x.im) (* x.im x.im)) (* (* x.re x.re) (* x.im x.im)))) (- (* x.re x.im) (* x.im x.re)))
1.8s
(* (* (* (/ 1 (sqrt PI)) (+ (+ (+ (* 2 (fabs x)) (* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x)))) (* (/ 1 5) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)))) (* (/ 1 21) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x))))) (* (/ 1 (sqrt PI)) (+ (+ (+ (* 2 (fabs x)) (* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x)))) (* (/ 1 5) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)))) (* (/ 1 21) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)))))) (* (/ 1 (sqrt PI)) (+ (+ (+ (* 2 (fabs x)) (* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x)))) (* (/ 1 5) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)))) (* (/ 1 21) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x))))))
1.8s
(/ (* (* (* (fma (+ (+ alpha beta) i) i (* beta alpha)) (fma (+ (+ alpha beta) i) i (* beta alpha))) (fma (+ (+ alpha beta) i) i (* beta alpha))) (* (* (* (+ (+ alpha beta) i) i) (* (+ (+ alpha beta) i) i)) (* (+ (+ alpha beta) i) i))) (* (* (* (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta))) (fma 2 i (+ alpha beta))) (* (* (fma 2 i (+ alpha beta)) (fma 2 i (+ alpha beta))) (fma 2 i (+ alpha beta)))))

sample10.1m

Algorithm
89×intervals
Results
6.9m105171×body10240exit
1.1m391979×body80valid
37.9s26209×body1280valid
20.7s20163×body640valid
11.9s3151×body1280nan
11.7s69452×body80nan
8.3s2565×body640nan
6.2s10039×body320valid
4.9s9361×body160valid
3.1s1248×body320nan
1.5s33536×pre80true
1.4s1454×body2560valid
1.2s674×body160nan
1.0s592×body5120valid

prune4.6m

rewrite1.9m

Algorithm
139×rewrite-expression-head
Calls

412 calls:

Slowest
36.7s
(* (+ (/ 12.507343278686905 (+ z 4)) (+ (+ (+ (/ 771.3234287776531 (+ z 2)) (+ (/ 676.5203681218851 z) (+ 0.9999999999998099 (/ -1259.1392167224028 (- z -1))))) (/ -176.6150291621406 (+ z 3))) (/ -0.13857109526572012 (- z -5)))) (* (* (pow (+ (+ 7 (- z 1)) 0.5) (+ (- z 1) 0.5)) (sqrt (* PI 2))) (exp (- (+ (+ 7 (- z 1)) 0.5)))))
9.0s
(cbrt (* (/ 1 21) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x))))
9.0s
(* (/ 1 21) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)))
8.8s
(cbrt (* (/ 1 21) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x))))
8.8s
(cbrt (* (/ 1 21) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x))))
Rules
28783×*-un-lft-identity
28620×times-frac
15195×add-sqr-sqrt
11837×add-cube-cbrt
9008×distribute-lft-out
5608×sqrt-prod
4038×pow1
2278×add-exp-log
2157×prod-diff
1698×add-cbrt-cube
1689×fma-def
1644×associate-*r*
1388×pow-prod-up
1181×associate-*l*
1068×difference-of-squares
983×div-inv
876×associate-/r/
833×prod-exp
822×distribute-lft-out--
788×log-pow
746×associate-/l*
634×add-log-exp
616×associate-/r*
608×pow-plus
599×flip-+ flip3-+
572×pow-prod-down
553×cbrt-unprod
507×div-exp
412×expm1-log1p-u insert-posit16 log1p-expm1-u
402×associate-*r/
398×flip3-- flip--
346×frac-times
320×unswap-sqr
314×frac-add
311×pow-sqr
296×cbrt-undiv
290×associate-*l/
240×distribute-rgt-in distribute-lft-in
227×frac-sub
224×pow2
201×sqrt-pow1
190×swap-sqr
184×fma-neg
151×sqrt-div
140×associate-/l/
134×unpow-prod-down
130×*-commutative
124×exp-prod
120×pow1/2
118×exp-sum
99×associate--r+
92×pow-exp
90×sum-log
89×frac-2neg clear-num
87×cbrt-prod
75×associate--l+
71×1-exp
70×log-prod
69×sub-neg
66×rec-exp
65×sqr-pow
55×fma-udef
53×pow-to-exp
52×cube-unmult
48×associate-+l- pow-sub
41×+-commutative rem-sqrt-square
40×associate-+l+
39×exp-neg
37×diff-log
36×pow-unpow
33×pow1/3
32×exp-diff pow-div
30×pow-flip
26×neg-sub0
25×distribute-rgt1-in inv-pow
22×distribute-rgt-out
21×unpow-prod-up
18×cube-prod
17×log-div
16×un-div-inv
14×div-sub
10×sin-sum associate-+r+ hypot-def
pow-pow
sqrt-unprod
distribute-lft1-in unpow3 rem-log-exp exp-to-pow cube-mult
rem-square-sqrt
associate-+r- pow3 sub-div associate--r-
cbrt-div
distribute-rgt-out-- rem-exp-log cos-sum
associate--l- e-exp-1

series1.2m

Calls

412 calls:

Slowest
2.2s
(- (* 1 1) (* (/ (* (+ (+ (/ 1.061405429 (* (* (fma 0.3275911 (fabs x) 1) (fma 0.3275911 (fabs x) 1)) (* (fma 0.3275911 (fabs x) 1) (fma 0.3275911 (fabs x) 1)))) (fma (+ (/ 1.453152027 (* (fma 0.3275911 (fabs x) 1) (fma 0.3275911 (fabs x) 1))) 0.284496736) (/ -1 (fma 0.3275911 (fabs x) 1)) (/ 1.421413741 (* (fma 0.3275911 (fabs x) 1) (fma 0.3275911 (fabs x) 1))))) 0.254829592) (/ -1 (fma 0.3275911 (fabs x) 1))) (exp (* (fabs x) (fabs x)))) (/ (* (+ (+ (/ 1.061405429 (* (* (fma 0.3275911 (fabs x) 1) (fma 0.3275911 (fabs x) 1)) (* (fma 0.3275911 (fabs x) 1) (fma 0.3275911 (fabs x) 1)))) (fma (+ (/ 1.453152027 (* (fma 0.3275911 (fabs x) 1) (fma 0.3275911 (fabs x) 1))) 0.284496736) (/ -1 (fma 0.3275911 (fabs x) 1)) (/ 1.421413741 (* (fma 0.3275911 (fabs x) 1) (fma 0.3275911 (fabs x) 1))))) 0.254829592) (/ -1 (fma 0.3275911 (fabs x) 1))) (exp (* (fabs x) (fabs x))))))
1.5s
(* (sqrt (/ (/ (fma (+ (+ alpha beta) i) i (* beta alpha)) (fma 2 i (+ alpha beta))) (+ (fma 2 i (+ alpha beta)) (sqrt 1.0)))) (/ (/ (* (+ (+ alpha beta) i) i) (fma 2 i (+ alpha beta))) (- (fma 2 i (+ alpha beta)) (sqrt 1.0))))
1.2s
(- 1 (* (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ 0.254829592 (+ (- (/ 1.421413741 (* (fma 0.3275911 (fabs x) 1) (fma 0.3275911 (fabs x) 1))) (* (/ 1 (fma 0.3275911 (fabs x) 1)) (+ (/ 1.453152027 (* (fma 0.3275911 (fabs x) 1) (fma 0.3275911 (fabs x) 1))) 0.284496736))) (/ 1.061405429 (* (* (fma 0.3275911 (fabs x) 1) (fma 0.3275911 (fabs x) 1)) (* (fma 0.3275911 (fabs x) 1) (fma 0.3275911 (fabs x) 1))))))) (exp (- (* (fabs x) (fabs x))))))
1.1s
(* (* (pow (* -2 (log u1)) (/ 0.5 2)) (pow (* -2 (log u1)) (/ 0.5 2))) 1/6)
1.0s
(- 1 (* (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ 0.254829592 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) 1.061405429))))))))) (exp (- (* (fabs x) (fabs x))))))

localize7.8s

regimes7.3s

Accuracy

Total 21.3b remaining (19.1%)

Threshold costs 5.7b (5.1%)

7.2b33.7%_divideComplex, real part
6.8b37.6%_divideComplex, imaginary part
1.6b44.8%Octave 3.8, jcobi/4
0.6b65.8%Jmat.Real.lambertw, newton loop step
0.6b0%math.cos on complex, imaginary part

bsearch1.3s

end2.0ms