Details

rewrite14.6m (45.5%)

Algorithm
158×rewrite-expression-head
Calls

476 calls:

1.1m
(* (* (/ 1.0 (sqrt PI)) (exp (* (fabs x) (fabs x)))) (+ (+ (+ (/ 1.0 (fabs x)) (* (/ 1.0 2.0) (* (* (/ 1.0 (fabs x)) (/ 1.0 (fabs x))) (/ 1.0 (fabs x))))) (* (/ 3.0 4.0) (* (* (* (* (/ 1.0 (fabs x)) (/ 1.0 (fabs x))) (/ 1.0 (fabs x))) (/ 1.0 (fabs x))) (/ 1.0 (fabs x))))) (* (/ 15.0 8.0) (* (* (* (* (* (* (/ 1 1) (/ (* 1.0 1.0) (pow (fabs x) 2))) (/ 1.0 (fabs x))) (/ 1.0 (fabs x))) (/ 1.0 (fabs x))) (/ 1.0 (fabs x))) (/ 1.0 (fabs x))))))
2.2s
(- (+ (/ (/ x (- (* wj wj) (* 1 1))) (/ (exp wj) (- wj 1))) wj) (/ wj (+ wj 1)))
1.5s
(/ (+ (+ (* (* x (* (pow (* x x) 3) (pow x 3))) (+ 0.0008327945 (* (* x x) (* 2.0 0.0001789971)))) (+ (* (* x x) (+ 0.7715471019 (* 0.2909738639 (* x x)))) 1.0)) (* (pow x 6) (+ 0.0694555761 (* (* x x) 0.0140005442)))) (+ (+ (* (pow (* x x) 4) (+ 0.0005064034 (* (* x x) 0.0001789971))) (+ 1.0 (* 0.1049934947 (* x x)))) (* (pow x 4) (+ 0.0424060604 (* (* x x) 0.0072644182)))))
1.4s
(/ (+ (+ (* (* x (* (pow (* x x) 3) (pow x 3))) (+ 0.0008327945 (* (* x x) (* 2.0 0.0001789971)))) (+ (* (* x x) (+ 0.7715471019 (* 0.2909738639 (* x x)))) 1.0)) (* (pow x 6) (+ 0.0694555761 (* (* x x) 0.0140005442)))) (sqrt (+ (+ (* (pow (* x x) 4) (+ 0.0005064034 (* (* x x) 0.0001789971))) (+ 1.0 (* 0.1049934947 (* x x)))) (* (pow x 4) (+ 0.0424060604 (* (* x x) 0.0072644182))))))
1.1s
(* (* 0.5 (sin re)) (+ (* (exp (+ (- 0.0 im) (- 0.0 im))) (* 0.5 (sin re))) (* (exp im) (* (* 0.5 (sin re)) (- (exp im) (exp (- 0.0 im)))))))
Rules
3588909×frac-times
2865463×associate-*l/
1763746×associate-*r/
1575662×frac-add
33508×flip-+ flip3-+
19279×times-frac
11535×*-un-lft-identity
10826×add-sqr-sqrt
8762×add-cube-cbrt
5360×sqrt-prod
2986×add-exp-log
2591×pow1
2428×add-cbrt-cube
1453×associate-*r*
1197×log-pow
1113×prod-exp
1068×distribute-lft-out
1018×associate-/r/
977×associate-*l*
893×difference-of-squares
871×cbrt-unprod
840×div-inv
766×add-log-exp
699×div-exp
623×associate-/r*
599×associate-/l*
572×cbrt-prod
532×cbrt-undiv
460×swap-sqr
444×pow-prod-down
338×distribute-lft-out--
317×unswap-sqr
301×flip3-- flip--
291×sqrt-div
280×unpow-prod-down
246×associate-/l/
199×cbrt-div
144×*-commutative
133×log-prod
115×sqrt-pow1
104×pow1/2
103×pow1/3
95×clear-num frac-2neg
88×diff-log
87×sqr-pow
80×sub-neg pow-exp
78×distribute-rgt-in distribute-lft-in
71×sum-log
64×pow-prod-up
62×rem-sqrt-square
61×cube-prod
60×exp-prod
52×pow-to-exp
49×1-exp rec-exp
46×pow-sqr
45×+-commutative
42×pow-plus
39×exp-sum
30×exp-diff associate--l+
28×pow2
24×log-div
21×pow-unpow
18×cube-div unpow3 cube-mult div-sub associate--r+
16×distribute-rgt-neg-in rem-exp-log distribute-lft-neg-in
15×rem-log-exp
13×pow-pow associate--l-
12×associate-+l+
11×rem-cube-cbrt
10×un-div-inv exp-neg pow-flip neg-sub0 frac-sub associate-+l-
sqrt-unprod
inv-pow unpow2
distribute-neg-in
associate-+r+ distribute-neg-frac
neg-log neg-mul-1
sqrt-undiv associate-+r- difference-of-sqr-1
pow3 sin-sum rem-square-sqrt distribute-rgt-neg-out
rem-cbrt-cube
cos-sum difference-cubes unpow-prod-up pow-sub associate--r-

series8.1m (25.3%)

Calls

476 calls:

6.1m
(- (pow 1.0 3) (pow (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (/ (- (* 0.254829592 0.254829592) (/ (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ (pow -0.284496736 3) (pow (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))) 3))) (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (- (* -0.284496736 -0.284496736) (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))) (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))))))) (* (- -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429)))))) (+ (* -0.284496736 -0.284496736) (- (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))) (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429)))))) (* -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))))))))) (- 0.254829592 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429)))))))))) (exp (- (* (fabs x) (fabs x))))) 3))
28.5s
(- 1.0 (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (/ (- (* 0.254829592 0.254829592) (/ (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ (pow -0.284496736 3) (pow (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))) 3))) (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (- (* -0.284496736 -0.284496736) (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))) (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))))))) (* (- -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429)))))) (+ (* -0.284496736 -0.284496736) (- (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))) (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429)))))) (* -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))))))))) (- 0.254829592 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429)))))))))) (exp (- (* (fabs x) (fabs x))))))
25.8s
(pow (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (/ (- (* 0.254829592 0.254829592) (/ (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ (pow -0.284496736 3) (pow (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))) 3))) (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (- (* -0.284496736 -0.284496736) (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))) (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))))))) (* (- -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429)))))) (+ (* -0.284496736 -0.284496736) (- (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))) (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429)))))) (* -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))))))))) (- 0.254829592 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429)))))))))) (exp (- (* (fabs x) (fabs x))))) 3)
5.0s
(- 1.0 (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (/ (- (* 0.254829592 0.254829592) (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))))) (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))))))) (- 0.254829592 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429)))))))))) (exp (- (* (fabs x) (fabs x))))))
2.6s
(/ (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ (pow -0.284496736 3) (pow (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))) 3))) (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (- (* -0.284496736 -0.284496736) (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))) (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))))))) (* (- -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429)))))) (+ (* -0.284496736 -0.284496736) (- (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))) (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429)))))) (* -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))))))))

simplify6.3m (19.8%)

Algorithm
255×egg-herbie

sample1.7m (5.3%)

Algorithm
98×intervals
Results
43.0s11665×body10240exit
17.0s437355×body80valid
10.8s26614×body1280valid
5.0s21126×body640valid
2.5s71211×body80nan
1.6s1564×body1280nan
1.6s10597×body320valid
1.0s9515×body160valid
916.0ms1302×body640nan
622.0ms49536×pre80true
341.0ms663×body320nan
335.0ms1438×body2560valid
138.0ms605×body5120valid
107.0ms321×body160nan

prune1.1m (3.6%)

regimes7.0s (0.4%)

Accuracy

Total 95.8b remaining (34.5%)

Threshold costs 4.4b (1.6%)

16.5b47.8%math.sqrt on complex, imaginary part, im greater than 0 branch
9.9b59.9%math.log/2 on complex, real part
9.8b59.2%math.log10 on complex, real part
9.6b59.9%math.log/1 on complex, real part
9.4b59.6%math.abs on complex

localize2.5s (0.1%)

bsearch1.4s (0.1%)

end1.0ms (0.0%)