
Herbie found 4 alternatives:
| Alternative | Accuracy | Speedup |
|---|
| Original | 100.0% |
|---|---|
| Target | 87.6% |
| Herbie | 100.0% |
Initial program 100.0%
sub-neg100.0%
+-commutative100.0%
distribute-rgt-neg-in100.0%
fma-def100.0%
Simplified100.0%
Final simplification100.0%
if z < -2.34999999999999999e-188 or 160 < z < 1.04999999999999993e54 or 4.2000000000000001e125 < z Initial program 100.0%
Taylor expanded in x around 0 67.4%
mul-1-neg67.4%
distribute-rgt-neg-out67.4%
Simplified67.4%
if -2.34999999999999999e-188 < z < 160 or 1.04999999999999993e54 < z < 4.2000000000000001e125Initial program 100.0%
Taylor expanded in x around inf 81.6%
Final simplification73.2%
Initial program 100.0%
Final simplification100.0%
Initial program 100.0%
Taylor expanded in x around inf 53.7%
Final simplification53.7%
herbie shell --seed 2023166
(FPCore (x y z)
:name "Diagrams.Solve.Tridiagonal:solveTriDiagonal from diagrams-solve-0.1, C"
:precision binary64
:herbie-target
(/ (+ x (* y z)) (/ (+ x (* y z)) (- x (* y z))))
(- x (* y z)))