
Results
Herbie found 7 alternatives:
| Alternative | Accuracy | Speedup |
|---|
| Original | 99.9% |
|---|---|
| Target | 99.8% |
| Herbie | 99.6% |
Initial program 99.9%
distribute-lft-in99.9%
Applied egg-rr99.9%
Final simplification99.9%
if y < -5.7999999999999999e63 or 4.5999999999999996e25 < y Initial program 99.8%
sub-neg99.8%
associate-+l+99.8%
distribute-lft-in99.7%
*-rgt-identity99.7%
associate-+r+99.7%
fma-def99.7%
+-commutative99.7%
unsub-neg99.7%
Simplified99.7%
Taylor expanded in x around 0 89.8%
*-commutative89.8%
distribute-rgt1-in89.9%
associate-+l-89.9%
Applied egg-rr89.9%
if -5.7999999999999999e63 < y < 4.5999999999999996e25Initial program 99.9%
distribute-lft-in100.0%
Applied egg-rr100.0%
Taylor expanded in z around inf 90.3%
associate-*r*90.3%
neg-mul-190.3%
Simplified90.3%
distribute-lft-neg-out90.3%
unsub-neg90.3%
Applied egg-rr90.3%
Final simplification90.1%
if z < 0.28000000000000003Initial program 99.8%
Taylor expanded in z around 0 97.6%
*-commutative97.6%
distribute-lft-in97.6%
*-rgt-identity97.6%
Simplified97.6%
if 0.28000000000000003 < z Initial program 99.9%
distribute-lft-in99.9%
Applied egg-rr99.9%
Taylor expanded in z around inf 98.0%
associate-*r*98.0%
neg-mul-198.0%
Simplified98.0%
distribute-lft-neg-out98.0%
unsub-neg98.0%
Applied egg-rr98.0%
Final simplification97.8%
Initial program 99.9%
Final simplification99.9%
Initial program 99.9%
distribute-lft-in99.9%
Applied egg-rr99.9%
Taylor expanded in z around inf 77.3%
associate-*r*77.3%
neg-mul-177.3%
Simplified77.3%
distribute-lft-neg-out77.3%
unsub-neg77.3%
Applied egg-rr77.3%
Final simplification77.3%
if z < 5.2e16Initial program 99.8%
Taylor expanded in x around inf 54.6%
if 5.2e16 < z Initial program 100.0%
sub-neg100.0%
associate-+l+100.0%
distribute-lft-in100.0%
*-rgt-identity100.0%
associate-+r+100.0%
fma-def100.0%
+-commutative100.0%
unsub-neg100.0%
Simplified100.0%
Taylor expanded in y around -inf 75.1%
mul-1-neg75.1%
distribute-rgt-neg-in75.1%
sub-neg75.1%
mul-1-neg75.1%
sub-neg75.1%
+-commutative75.1%
distribute-neg-in75.1%
remove-double-neg75.1%
sub-neg75.1%
metadata-eval75.1%
+-commutative75.1%
Simplified75.1%
Taylor expanded in z around inf 75.1%
Final simplification64.4%
Initial program 99.9%
Taylor expanded in x around inf 41.2%
Final simplification41.2%
herbie shell --seed 2023166
(FPCore (x y z)
:name "System.Random.MWC.Distributions:gamma from mwc-random-0.13.3.2"
:precision binary64
:herbie-target
(- (+ y (* 0.5 x)) (* y (- z (log z))))
(+ (* x 0.5) (* y (+ (- 1.0 z) (log z)))))