Date:Saturday, February 29th, 2020
Commit:d0c22b93 on refactor-and-minor
Hostname:warfa with Racket 7.5
Seed:2020060
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

rewrite10.7m (65.3%)

Algorithm
156×rewrite-expression-head
Calls

456 calls:

8.7m
(/ (* (* (sqrt (* PI 2.0)) (pow (+ (+ (- z 1.0) 7.0) 0.5) (+ (- z 1.0) 0.5))) (+ (+ (+ (+ (+ (+ (+ (+ 0.9999999999998099 (/ 676.5203681218851 (* 1 z))) (/ -1259.1392167224028 (+ (- z 1.0) 2.0))) (/ 771.3234287776531 (+ (- z 1.0) 3.0))) (/ -176.6150291621406 (+ (- z 1.0) 4.0))) (/ 12.507343278686905 (+ (- z 1.0) 5.0))) (/ -0.13857109526572012 (+ (- z 1.0) 6.0))) (/ 9.984369578019572e-06 (+ (- z 1.0) 7.0))) (/ 1.5056327351493116e-07 (+ (- z 1.0) 8.0)))) (exp (+ (+ (- z 1.0) 7.0) 0.5)))
7.6s
(* (/ (+ (+ (+ (+ (+ 1.0 (* 0.1049934947 (* x x))) (* 0.0424060604 (* (* x x) (* x x)))) (* 0.0072644182 (* (* (* x x) (* x x)) (* x x)))) (* 0.0005064034 (pow x 8))) (* 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)
7.5s
(* (/ (+ (+ (+ (+ (+ 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.4s
(/ (+ (+ (+ (+ (+ 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.4s
(/ (+ (+ (+ (+ (+ 1.0 (* 0.1049934947 (* x x))) (* 0.0424060604 (* (* x x) (* x x)))) (* 0.0072644182 (* (* (* x x) (* x x)) (* x x)))) (* 0.0005064034 (pow x 8))) (* 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)))))
Rules
31799×times-frac
22379×*-un-lft-identity
16902×add-sqr-sqrt
14819×add-cube-cbrt
4042×prod-diff
3718×distribute-lft-out
2948×add-exp-log
2242×add-cbrt-cube
1774×pow1
1269×associate-/r/
1193×div-inv
1137×difference-of-squares
1132×prod-exp
957×sqrt-prod
837×cbrt-unprod
833×unpow-prod-down
811×associate-/l*
756×fma-neg
730×div-exp
706×add-log-exp
678×associate-/r*
674×pow-prod-down
652×associate-*r*
643×cube-prod
607×associate-*l*
597×flip-+ flip3-+
527×fma-def
465×sqr-pow
454×expm1-log1p-u
453×log1p-expm1-u
433×cbrt-undiv
408×distribute-lft-out--
383×cbrt-prod
335×unpow3 cube-mult
273×distribute-rgt-in distribute-lft-in
252×frac-times
243×associate-*r/
214×associate-*l/
197×unswap-sqr
195×log-pow
173×associate--l+
155×1-exp
147×exp-sum
130×flip3-- flip--
124×associate--r+
117×*-commutative
107×clear-num frac-2neg
106×sub-neg
104×log-prod pow-exp
98×diff-log
90×sqrt-div
88×rec-exp
82×pow-unpow
81×pow-to-exp
80×associate-/l/
70×fma-udef sqrt-pow1
69×swap-sqr
62×pow1/3
50×pow1/2 cube-div
44×pow-prod-up
40×sum-log
36×pow-sqr
34×cbrt-div pow-pow
33×distribute-lft-neg-in distribute-rgt-neg-in
27×+-commutative
26×pow-plus
25×rem-sqrt-square neg-mul-1
24×exp-prod
19×pow-flip
18×pow2 div-sub associate--l-
17×rem-cube-cbrt inv-pow hypot-def
16×associate-+l+
14×frac-add
exp-diff
neg-sub0 associate-+l-
rem-exp-log associate-+r+ exp-neg un-div-inv rem-log-exp
difference-cubes associate--r-
sin-sum frac-sub exp-to-pow unpow2
sqrt-pow2 rem-cbrt-cube distribute-rgt-neg-out
sqrt-undiv distribute-neg-in neg-log log-div
log1p-udef sqrt-unprod pow3 log1p-expm1 unpow-prod-up pow-sub expm1-log1p hypot-udef rem-square-sqrt cos-sum expm1-udef

series2.1m (12.9%)

Calls

453 calls:

21.6s
(fma (- (/ (pow (- (* 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))))))))) 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)))))))) (exp (* (fabs x) (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))))))) (/ (pow (/ 1.0 (+ 1.0 (* 0.3275911 (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)))))))) (exp (* (fabs x) (fabs x))))) (* (/ (pow (- (* 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))))))))) 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)))))))) (exp (* (fabs x) (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)))))) (/ (pow (/ 1.0 (+ 1.0 (* 0.3275911 (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)))))))) (exp (* (fabs x) (fabs x)))))))
20.3s
(fma 1 (pow 1.0 3) (- (* (/ (pow (- (* 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))))))))) 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)))))))) (exp (* (fabs x) (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)))))) (/ (pow (/ 1.0 (+ 1.0 (* 0.3275911 (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)))))))) (exp (* (fabs x) (fabs x))))))))
19.5s
(- (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)))))))))) 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)))))))) (exp (* (fabs x) (fabs x)))) 3)))
3.3s
(- (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.3s
(/ (/ i (* (/ (+ (+ (+ alpha beta) (* 2.0 i)) (sqrt 1.0)) 1) (/ (- (+ (+ 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 (10.2%)

Algorithm
99×intervals
Results
43.8s12171×body10240exit
18.0s450026×body80valid
11.0s27104×body1280valid
5.1s21283×body640valid
2.5s69112×body80nan
1.7s1667×body1280nan
1.7s10909×body320valid
1.0s1397×body640nan
995.0ms9557×body160valid
649.0ms49536×pre80true
354.0ms1478×body2560valid
352.0ms702×body320nan
145.0ms568×body5120valid
111.0ms313×body160nan

prune1.4m (8.6%)

Filtered
25916 candidates to 14923 candidates (57.6%)

simplify20.4s (2.1%)

Algorithm
254×egg-herbie

regimes5.2s (0.5%)

Accuracy

Total 45.8b remaining (45.7%)

Threshold costs 6.3b (6.2%)

9.0b44.8%Octave 3.8, jcobi/4
7.4b35.1%_divideComplex, real part
6.4b0%Octave 3.8, jcobi/2
4.7b17.5%math.sqrt on complex, real part
4.1b30.4%math.sqrt on complex, imaginary part, im greater than 0 branch

localize2.6s (0.3%)

bsearch952.0ms (0.1%)

end1.0ms (0.0%)