\left(x + y\right) - \frac{\left(z - t\right) \cdot y}{a - t}\begin{array}{l}
\mathbf{if}\;t \le -9.865242998422085 \cdot 10^{154} \lor \neg \left(t \le 1.0244000647700889 \cdot 10^{201}\right):\\
\;\;\;\;\frac{z \cdot y}{t} + x\\
\mathbf{else}:\\
\;\;\;\;\left(x + y\right) - \left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot \frac{z - t}{\frac{a - t}{\sqrt[3]{y}}}\\
\end{array}double f(double x, double y, double z, double t, double a) {
double r474119 = x;
double r474120 = y;
double r474121 = r474119 + r474120;
double r474122 = z;
double r474123 = t;
double r474124 = r474122 - r474123;
double r474125 = r474124 * r474120;
double r474126 = a;
double r474127 = r474126 - r474123;
double r474128 = r474125 / r474127;
double r474129 = r474121 - r474128;
return r474129;
}
double f(double x, double y, double z, double t, double a) {
double r474130 = t;
double r474131 = -9.865242998422085e+154;
bool r474132 = r474130 <= r474131;
double r474133 = 1.024400064770089e+201;
bool r474134 = r474130 <= r474133;
double r474135 = !r474134;
bool r474136 = r474132 || r474135;
double r474137 = z;
double r474138 = y;
double r474139 = r474137 * r474138;
double r474140 = r474139 / r474130;
double r474141 = x;
double r474142 = r474140 + r474141;
double r474143 = r474141 + r474138;
double r474144 = cbrt(r474138);
double r474145 = r474144 * r474144;
double r474146 = r474137 - r474130;
double r474147 = a;
double r474148 = r474147 - r474130;
double r474149 = r474148 / r474144;
double r474150 = r474146 / r474149;
double r474151 = r474145 * r474150;
double r474152 = r474143 - r474151;
double r474153 = r474136 ? r474142 : r474152;
return r474153;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t




Bits error versus a
Results
| Original | 16.2 |
|---|---|
| Target | 8.2 |
| Herbie | 9.8 |
if t < -9.865242998422085e+154 or 1.024400064770089e+201 < t Initial program 31.6
Taylor expanded around inf 16.5
if -9.865242998422085e+154 < t < 1.024400064770089e+201Initial program 11.7
rmApplied associate-/l*8.5
rmApplied add-cube-cbrt8.7
Applied *-un-lft-identity8.7
Applied times-frac8.7
Applied *-un-lft-identity8.7
Applied times-frac7.8
Simplified7.8
Final simplification9.8
herbie shell --seed 2019199
(FPCore (x y z t a)
:name "Graphics.Rendering.Plot.Render.Plot.Axis:renderAxisTick from plot-0.2.3.4, B"
:herbie-target
(if (< (- (+ x y) (/ (* (- z t) y) (- a t))) -1.3664970889390727e-07) (- (+ y x) (* (* (- z t) (/ 1.0 (- a t))) y)) (if (< (- (+ x y) (/ (* (- z t) y) (- a t))) 1.4754293444577233e-239) (/ (- (* y (- a z)) (* x t)) (- a t)) (- (+ y x) (* (* (- z t) (/ 1.0 (- a t))) y))))
(- (+ x y) (/ (* (- z t) y) (- a t))))