Average Error: 16.7 → 12.6
Time: 8.0s
Precision: 64
\[\left(x + y\right) - \frac{\left(z - t\right) \cdot y}{a - t}\]
\[\begin{array}{l} \mathbf{if}\;a \le -6.35321437481322989 \cdot 10^{-142}:\\ \;\;\;\;\mathsf{fma}\left(\frac{y}{a - t}, t - z, x + y\right)\\ \mathbf{elif}\;a \le -1.76342549420850578 \cdot 10^{-264}:\\ \;\;\;\;x\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{1}, \frac{\sqrt[3]{\sqrt[3]{y}} \cdot \sqrt[3]{\sqrt[3]{y}}}{1} \cdot \left(\frac{\sqrt[3]{\sqrt[3]{y}}}{a - t} \cdot \left(t - z\right)\right), x + y\right)\\ \end{array}\]
\left(x + y\right) - \frac{\left(z - t\right) \cdot y}{a - t}
\begin{array}{l}
\mathbf{if}\;a \le -6.35321437481322989 \cdot 10^{-142}:\\
\;\;\;\;\mathsf{fma}\left(\frac{y}{a - t}, t - z, x + y\right)\\

\mathbf{elif}\;a \le -1.76342549420850578 \cdot 10^{-264}:\\
\;\;\;\;x\\

\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{1}, \frac{\sqrt[3]{\sqrt[3]{y}} \cdot \sqrt[3]{\sqrt[3]{y}}}{1} \cdot \left(\frac{\sqrt[3]{\sqrt[3]{y}}}{a - t} \cdot \left(t - z\right)\right), x + y\right)\\

\end{array}
double f(double x, double y, double z, double t, double a) {
        double r599727 = x;
        double r599728 = y;
        double r599729 = r599727 + r599728;
        double r599730 = z;
        double r599731 = t;
        double r599732 = r599730 - r599731;
        double r599733 = r599732 * r599728;
        double r599734 = a;
        double r599735 = r599734 - r599731;
        double r599736 = r599733 / r599735;
        double r599737 = r599729 - r599736;
        return r599737;
}

double f(double x, double y, double z, double t, double a) {
        double r599738 = a;
        double r599739 = -6.35321437481323e-142;
        bool r599740 = r599738 <= r599739;
        double r599741 = y;
        double r599742 = t;
        double r599743 = r599738 - r599742;
        double r599744 = r599741 / r599743;
        double r599745 = z;
        double r599746 = r599742 - r599745;
        double r599747 = x;
        double r599748 = r599747 + r599741;
        double r599749 = fma(r599744, r599746, r599748);
        double r599750 = -1.7634254942085058e-264;
        bool r599751 = r599738 <= r599750;
        double r599752 = cbrt(r599741);
        double r599753 = r599752 * r599752;
        double r599754 = 1.0;
        double r599755 = r599753 / r599754;
        double r599756 = cbrt(r599752);
        double r599757 = r599756 * r599756;
        double r599758 = r599757 / r599754;
        double r599759 = r599756 / r599743;
        double r599760 = r599759 * r599746;
        double r599761 = r599758 * r599760;
        double r599762 = fma(r599755, r599761, r599748);
        double r599763 = r599751 ? r599747 : r599762;
        double r599764 = r599740 ? r599749 : r599763;
        return r599764;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Target

Original16.7
Target8.6
Herbie12.6
\[\begin{array}{l} \mathbf{if}\;\left(x + y\right) - \frac{\left(z - t\right) \cdot y}{a - t} \lt -1.3664970889390727 \cdot 10^{-7}:\\ \;\;\;\;\left(y + x\right) - \left(\left(z - t\right) \cdot \frac{1}{a - t}\right) \cdot y\\ \mathbf{elif}\;\left(x + y\right) - \frac{\left(z - t\right) \cdot y}{a - t} \lt 1.47542934445772333 \cdot 10^{-239}:\\ \;\;\;\;\frac{y \cdot \left(a - z\right) - x \cdot t}{a - t}\\ \mathbf{else}:\\ \;\;\;\;\left(y + x\right) - \left(\left(z - t\right) \cdot \frac{1}{a - t}\right) \cdot y\\ \end{array}\]

Derivation

  1. Split input into 3 regimes
  2. if a < -6.35321437481323e-142

    1. Initial program 15.6

      \[\left(x + y\right) - \frac{\left(z - t\right) \cdot y}{a - t}\]
    2. Simplified10.1

      \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{y}{a - t}, t - z, x + y\right)}\]
    3. Using strategy rm
    4. Applied fma-udef10.2

      \[\leadsto \color{blue}{\frac{y}{a - t} \cdot \left(t - z\right) + \left(x + y\right)}\]
    5. Using strategy rm
    6. Applied fma-def10.1

      \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{y}{a - t}, t - z, x + y\right)}\]

    if -6.35321437481323e-142 < a < -1.7634254942085058e-264

    1. Initial program 17.6

      \[\left(x + y\right) - \frac{\left(z - t\right) \cdot y}{a - t}\]
    2. Simplified18.3

      \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{y}{a - t}, t - z, x + y\right)}\]
    3. Taylor expanded around 0 23.8

      \[\leadsto \color{blue}{x}\]

    if -1.7634254942085058e-264 < a

    1. Initial program 17.3

      \[\left(x + y\right) - \frac{\left(z - t\right) \cdot y}{a - t}\]
    2. Simplified12.4

      \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{y}{a - t}, t - z, x + y\right)}\]
    3. Using strategy rm
    4. Applied fma-udef12.4

      \[\leadsto \color{blue}{\frac{y}{a - t} \cdot \left(t - z\right) + \left(x + y\right)}\]
    5. Using strategy rm
    6. Applied *-un-lft-identity12.4

      \[\leadsto \frac{y}{\color{blue}{1 \cdot \left(a - t\right)}} \cdot \left(t - z\right) + \left(x + y\right)\]
    7. Applied add-cube-cbrt12.6

      \[\leadsto \frac{\color{blue}{\left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}}}{1 \cdot \left(a - t\right)} \cdot \left(t - z\right) + \left(x + y\right)\]
    8. Applied times-frac12.6

      \[\leadsto \color{blue}{\left(\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{1} \cdot \frac{\sqrt[3]{y}}{a - t}\right)} \cdot \left(t - z\right) + \left(x + y\right)\]
    9. Applied associate-*l*11.9

      \[\leadsto \color{blue}{\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{1} \cdot \left(\frac{\sqrt[3]{y}}{a - t} \cdot \left(t - z\right)\right)} + \left(x + y\right)\]
    10. Using strategy rm
    11. Applied fma-def11.9

      \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{1}, \frac{\sqrt[3]{y}}{a - t} \cdot \left(t - z\right), x + y\right)}\]
    12. Using strategy rm
    13. Applied *-un-lft-identity11.9

      \[\leadsto \mathsf{fma}\left(\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{1}, \frac{\sqrt[3]{y}}{\color{blue}{1 \cdot \left(a - t\right)}} \cdot \left(t - z\right), x + y\right)\]
    14. Applied add-cube-cbrt12.0

      \[\leadsto \mathsf{fma}\left(\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{1}, \frac{\color{blue}{\left(\sqrt[3]{\sqrt[3]{y}} \cdot \sqrt[3]{\sqrt[3]{y}}\right) \cdot \sqrt[3]{\sqrt[3]{y}}}}{1 \cdot \left(a - t\right)} \cdot \left(t - z\right), x + y\right)\]
    15. Applied times-frac12.0

      \[\leadsto \mathsf{fma}\left(\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{1}, \color{blue}{\left(\frac{\sqrt[3]{\sqrt[3]{y}} \cdot \sqrt[3]{\sqrt[3]{y}}}{1} \cdot \frac{\sqrt[3]{\sqrt[3]{y}}}{a - t}\right)} \cdot \left(t - z\right), x + y\right)\]
    16. Applied associate-*l*12.2

      \[\leadsto \mathsf{fma}\left(\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{1}, \color{blue}{\frac{\sqrt[3]{\sqrt[3]{y}} \cdot \sqrt[3]{\sqrt[3]{y}}}{1} \cdot \left(\frac{\sqrt[3]{\sqrt[3]{y}}}{a - t} \cdot \left(t - z\right)\right)}, x + y\right)\]
  3. Recombined 3 regimes into one program.
  4. Final simplification12.6

    \[\leadsto \begin{array}{l} \mathbf{if}\;a \le -6.35321437481322989 \cdot 10^{-142}:\\ \;\;\;\;\mathsf{fma}\left(\frac{y}{a - t}, t - z, x + y\right)\\ \mathbf{elif}\;a \le -1.76342549420850578 \cdot 10^{-264}:\\ \;\;\;\;x\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{1}, \frac{\sqrt[3]{\sqrt[3]{y}} \cdot \sqrt[3]{\sqrt[3]{y}}}{1} \cdot \left(\frac{\sqrt[3]{\sqrt[3]{y}}}{a - t} \cdot \left(t - z\right)\right), x + y\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2020081 +o rules:numerics
(FPCore (x y z t a)
  :name "Graphics.Rendering.Plot.Render.Plot.Axis:renderAxisTick from plot-0.2.3.4, B"
  :precision binary64

  :herbie-target
  (if (< (- (+ x y) (/ (* (- z t) y) (- a t))) -1.3664970889390727e-07) (- (+ y x) (* (* (- z t) (/ 1 (- 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 (- a t))) y))))

  (- (+ x y) (/ (* (- z t) y) (- a t))))