Date:Wednesday, February 26th, 2020
Commit:2c6cda94 on refactor-and-minor
Hostname:warfa with Racket 7.5
Seed:2020057
Parameters:256 points for 4 iterations
Flags:
setup:simplifyrules:numericsrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:complexrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:simplifyreduce:regimesreduce:avg-errorreduce:binary-searchreduce:branch-expressionsprecision:doubleprecision:fallback
+o rules:numerics

Details

rewrite11.0m (61.1%)

Algorithm
153×rewrite-expression-head
Calls

438 calls:

29.9s
(* (/ (/ (sqrt i) (/ (+ (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0)) 1)) 1) (/ (/ (sqrt i) (/ (- (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0)) (+ (+ alpha beta) i))) (/ (fma i 2.0 (+ alpha beta)) (/ (fma beta alpha (* i (+ (+ alpha beta) i))) (fma i 2.0 (+ alpha beta))))))
6.8s
(* (/ (+ (+ (+ (+ (+ 1.0 (* 0.1049934947 (* x x))) (* 0.0424060604 (* (* x x) (* x x)))) (* 0.0072644182 (* (* (* x x) (* x x)) (* x x)))) (* 0.0005064034 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 0.0001789971 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (+ (+ (+ (+ (+ (+ 1.0 (* 0.7715471019 (* x x))) (* 0.2909738639 (* (* x x) (* x x)))) (* 0.0694555761 (* (* (* x x) (* x x)) (* x x)))) (* 0.0140005442 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 0.0008327945 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (* (* 2.0 0.0001789971) (* (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)) (* x x))))) x)
4.0s
(/ (+ (+ (+ (+ (+ 1.0 (* 0.1049934947 (* x x))) (* 0.0424060604 (* (* x x) (* x x)))) (* 0.0072644182 (* (* (* x x) (* x x)) (* x x)))) (* 0.0005064034 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 0.0001789971 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (+ (+ (+ (+ (+ (+ 1.0 (* 0.7715471019 (* x x))) (* 0.2909738639 (* (* x x) (* x x)))) (* 0.0694555761 (* (* (* x x) (* x x)) (* x x)))) (* 0.0140005442 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 0.0008327945 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (* (* 2.0 0.0001789971) (* (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)) (* x x)))))
4.0s
(/ (+ (+ (+ (+ (+ 1.0 (* 0.1049934947 (* x x))) (* 0.0424060604 (* (* x x) (* x x)))) (* 0.0072644182 (* (* (* x x) (* x x)) (* x x)))) (* 0.0005064034 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 0.0001789971 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (+ (+ (+ (+ (+ (+ 1.0 (* 0.7715471019 (* x x))) (* 0.2909738639 (* (* x x) (* x x)))) (* 0.0694555761 (* (* (* x x) (* x x)) (* x x)))) (* 0.0140005442 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 0.0008327945 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (* (* 2.0 0.0001789971) (* (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)) (* x x)))))
767.0ms
(* (+ (/ 1.0 (/ 2.0 (pow (/ 1.0 (fabs x)) 3))) (/ (* 1.0 (+ (/ (* (/ 1.0 (pow (fabs x) 6)) 15.0) 8.0) (fma (/ 3.0 4.0) (pow (/ 1.0 (fabs x)) 4) 1))) (fabs x))) (* (/ 1.0 (sqrt PI)) (pow (exp (fabs x)) (/ (fabs x) 2))))
Rules
119883×times-frac
73489×*-un-lft-identity
58216×add-sqr-sqrt
44023×add-cube-cbrt
15389×sqrt-prod
13651×distribute-lft-out
10389×associate-*r*
6392×difference-of-squares
5766×cbrt-prod
3662×div-inv
3281×prod-diff
3036×add-exp-log
3017×associate-/r/
2932×distribute-lft-out--
2151×add-cbrt-cube
1623×unpow-prod-down
1471×pow1
1302×flip-+ flip3-+
1162×cube-prod
1101×div-exp
1067×associate-*l*
984×associate-/l*
915×prod-exp
709×associate-/r*
661×add-log-exp
637×cbrt-unprod
588×sqr-pow
566×cbrt-undiv
460×unpow3 pow-prod-down cube-mult
448×unswap-sqr
441×expm1-log1p-u
438×log1p-expm1-u
363×distribute-rgt-in distribute-lft-in
288×fma-neg
239×associate-*r/
223×log-pow
222×frac-times
202×1-exp
182×exp-sum
170×associate--l+
147×flip3-- flip--
140×associate-*l/
138×fma-def log-prod
117×*-commutative
105×cbrt-div
96×clear-num frac-2neg
93×sub-neg
88×associate-/l/
87×rec-exp
86×diff-log
84×pow1/3
77×associate--r+
76×swap-sqr
73×pow-exp
66×fma-udef
65×exp-prod
64×pow-unpow
59×sqrt-pow1
55×sqrt-div
50×pow-to-exp
46×cube-div
42×pow1/2
36×pow-prod-up
34×pow-sqr sum-log
30×distribute-rgt-neg-in distribute-lft-neg-in
26×pow-pow
25×+-commutative
23×neg-mul-1
22×exp-diff rem-sqrt-square div-sub
20×frac-add
19×pow-plus
17×associate--l-
16×pow2
13×rem-cube-cbrt
12×hypot-def rem-log-exp log-div
11×rem-exp-log associate-+l+
10×inv-pow pow-flip
neg-sub0
exp-neg frac-sub
un-div-inv unpow2 associate-+r+ neg-log
sin-sum
difference-cubes log1p-udef log1p-expm1 associate-+l-
expm1-log1p distribute-rgt-neg-out expm1-udef exp-to-pow
sqrt-pow2 sqrt-unprod distribute-neg-in unpow-prod-up pow-sub hypot-udef rem-square-sqrt distribute-rgt-out cos-sum associate--r- distribute-rgt-out-- rem-cbrt-cube

prune2.5m (13.6%)

Filtered
46347 candidates to 23012 candidates (49.7%)

series2.2m (12.0%)

Calls

438 calls:

22.5s
(fma (- (/ (pow (* (* (/ 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)))))))))) (exp (- (* (fabs x) (fabs x))))) 3) (* (- 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)))))))) (- 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.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))))))))) (* (/ (pow (* (* (/ 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)))))))))) (exp (- (* (fabs x) (fabs x))))) 3) (* (- 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)))))))) (- 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.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)))))))))))
20.3s
(- (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)))) (+ -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)))))))))) (exp (- (* (fabs x) (fabs x))))) 3) (pow (- 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)))))))) 3)))
20.2s
(fma 1 (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)))) (+ -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)))))))))) (exp (- (* (fabs x) (fabs x))))) 3) (* (- 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)))))))) (- 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.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))))))))))))
3.2s
(- (pow 1.0 3) (pow (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 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))
2.1s
(* (/ (/ (sqrt i) (/ (+ (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0)) 1)) 1) (/ (/ (sqrt i) (/ (- (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0)) (+ (+ alpha beta) i))) (/ (fma i 2.0 (+ alpha beta)) (/ (fma beta alpha (* i (+ (+ alpha beta) i))) (fma i 2.0 (+ alpha beta))))))

sample1.7m (9.6%)

Algorithm
99×intervals
Results
43.1s11974×body10240exit
22.0s494637×body80valid
11.4s27113×body1280valid
5.1s20737×body640valid
2.5s69825×body80nan
1.7s1594×body1280nan
1.6s10710×body320valid
1.0s9594×body160valid
947.0ms1325×body640nan
674.0ms49536×pre80true
405.0ms1532×body2560valid
334.0ms648×body320nan
130.0ms540×body5120valid
119.0ms342×body160nan

simplify30.8s (2.8%)

Algorithm
251×egg-herbie

regimes6.0s (0.6%)

Accuracy

Total 51.5b remaining (47.1%)

Threshold costs 7.0b (6.4%)

8.9b46.7%Octave 3.8, jcobi/4
8.4b37.8%_divideComplex, imaginary part
7.7b30.4%_divideComplex, real part
6.4b-6.7%math.sqrt on complex, imaginary part, im greater than 0 branch
5.6b11.2%Octave 3.8, jcobi/2

localize2.5s (0.2%)

bsearch943.0ms (0.1%)

end1.0ms (0.0%)