x + \frac{y}{1.1283791670955126 \cdot e^{z} - x \cdot y}x + \frac{1}{\frac{e^{z} \cdot 1.1283791670955126}{y} - x}double f(double x, double y, double z) {
double r17063641 = x;
double r17063642 = y;
double r17063643 = 1.1283791670955126;
double r17063644 = z;
double r17063645 = exp(r17063644);
double r17063646 = r17063643 * r17063645;
double r17063647 = r17063641 * r17063642;
double r17063648 = r17063646 - r17063647;
double r17063649 = r17063642 / r17063648;
double r17063650 = r17063641 + r17063649;
return r17063650;
}
double f(double x, double y, double z) {
double r17063651 = x;
double r17063652 = 1.0;
double r17063653 = z;
double r17063654 = exp(r17063653);
double r17063655 = 1.1283791670955126;
double r17063656 = r17063654 * r17063655;
double r17063657 = y;
double r17063658 = r17063656 / r17063657;
double r17063659 = r17063658 - r17063651;
double r17063660 = r17063652 / r17063659;
double r17063661 = r17063651 + r17063660;
return r17063661;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 2.8 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 2.8
rmApplied insert-posit1623.6
rmApplied clear-num23.6
Simplified22.6
rmApplied remove-posit160.0
Final simplification0.0
herbie shell --seed 2019168
(FPCore (x y z)
:name "Numeric.SpecFunctions:invErfc from math-functions-0.1.5.2, A"
:herbie-target
(+ x (/ 1 (- (* (/ 1.1283791670955126 y) (exp z)) x)))
(+ x (/ y (- (* 1.1283791670955126 (exp z)) (* x y)))))