Average Error: 14.8 → 10.9
Time: 18.6s
Precision: 64
\[x + \left(y - z\right) \cdot \frac{t - x}{a - z}\]
\[\begin{array}{l} \mathbf{if}\;a \le -7.30307411084203265 \cdot 10^{-56}:\\ \;\;\;\;\mathsf{fma}\left(\sqrt[3]{x} \cdot \sqrt[3]{x}, \sqrt[3]{x}, \left(\left(\sqrt[3]{y - z} \cdot \sqrt[3]{y - z}\right) \cdot \left(\left(\sqrt[3]{y - z} \cdot \left(\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}\right)\right) \cdot \frac{1}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}\right)\right) \cdot \frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}}\right)\\ \mathbf{elif}\;a \le -1.8601098218278759 \cdot 10^{-107}:\\ \;\;\;\;\mathsf{fma}\left(\frac{x}{z}, y, t - \frac{t \cdot y}{z}\right)\\ \mathbf{elif}\;a \le -1.1082483719169987 \cdot 10^{-137}:\\ \;\;\;\;\mathsf{fma}\left(\sqrt[3]{x} \cdot \sqrt[3]{x}, \sqrt[3]{x}, \left(\left(y - z\right) \cdot \frac{\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}\right) \cdot \frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}}\right)\\ \mathbf{elif}\;a \le 1.6198574735816835 \cdot 10^{-205}:\\ \;\;\;\;\mathsf{fma}\left(\frac{x}{z}, y, t - \frac{t \cdot y}{z}\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\sqrt[3]{x} \cdot \sqrt[3]{x}, \sqrt[3]{x}, \left(\left(\sqrt[3]{y - z} \cdot \sqrt[3]{y - z}\right) \cdot \left(\left(\sqrt[3]{y - z} \cdot \left(\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}\right)\right) \cdot \frac{1}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}\right)\right) \cdot \frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}}\right)\\ \end{array}\]
x + \left(y - z\right) \cdot \frac{t - x}{a - z}
\begin{array}{l}
\mathbf{if}\;a \le -7.30307411084203265 \cdot 10^{-56}:\\
\;\;\;\;\mathsf{fma}\left(\sqrt[3]{x} \cdot \sqrt[3]{x}, \sqrt[3]{x}, \left(\left(\sqrt[3]{y - z} \cdot \sqrt[3]{y - z}\right) \cdot \left(\left(\sqrt[3]{y - z} \cdot \left(\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}\right)\right) \cdot \frac{1}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}\right)\right) \cdot \frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}}\right)\\

\mathbf{elif}\;a \le -1.8601098218278759 \cdot 10^{-107}:\\
\;\;\;\;\mathsf{fma}\left(\frac{x}{z}, y, t - \frac{t \cdot y}{z}\right)\\

\mathbf{elif}\;a \le -1.1082483719169987 \cdot 10^{-137}:\\
\;\;\;\;\mathsf{fma}\left(\sqrt[3]{x} \cdot \sqrt[3]{x}, \sqrt[3]{x}, \left(\left(y - z\right) \cdot \frac{\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}\right) \cdot \frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}}\right)\\

\mathbf{elif}\;a \le 1.6198574735816835 \cdot 10^{-205}:\\
\;\;\;\;\mathsf{fma}\left(\frac{x}{z}, y, t - \frac{t \cdot y}{z}\right)\\

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

\end{array}
double f(double x, double y, double z, double t, double a) {
        double r125695 = x;
        double r125696 = y;
        double r125697 = z;
        double r125698 = r125696 - r125697;
        double r125699 = t;
        double r125700 = r125699 - r125695;
        double r125701 = a;
        double r125702 = r125701 - r125697;
        double r125703 = r125700 / r125702;
        double r125704 = r125698 * r125703;
        double r125705 = r125695 + r125704;
        return r125705;
}

double f(double x, double y, double z, double t, double a) {
        double r125706 = a;
        double r125707 = -7.303074110842033e-56;
        bool r125708 = r125706 <= r125707;
        double r125709 = x;
        double r125710 = cbrt(r125709);
        double r125711 = r125710 * r125710;
        double r125712 = y;
        double r125713 = z;
        double r125714 = r125712 - r125713;
        double r125715 = cbrt(r125714);
        double r125716 = r125715 * r125715;
        double r125717 = t;
        double r125718 = r125717 - r125709;
        double r125719 = cbrt(r125718);
        double r125720 = r125719 * r125719;
        double r125721 = r125715 * r125720;
        double r125722 = 1.0;
        double r125723 = r125706 - r125713;
        double r125724 = cbrt(r125723);
        double r125725 = r125724 * r125724;
        double r125726 = r125722 / r125725;
        double r125727 = r125721 * r125726;
        double r125728 = r125716 * r125727;
        double r125729 = r125719 / r125724;
        double r125730 = r125728 * r125729;
        double r125731 = fma(r125711, r125710, r125730);
        double r125732 = -1.860109821827876e-107;
        bool r125733 = r125706 <= r125732;
        double r125734 = r125709 / r125713;
        double r125735 = r125717 * r125712;
        double r125736 = r125735 / r125713;
        double r125737 = r125717 - r125736;
        double r125738 = fma(r125734, r125712, r125737);
        double r125739 = -1.1082483719169987e-137;
        bool r125740 = r125706 <= r125739;
        double r125741 = r125720 / r125725;
        double r125742 = r125714 * r125741;
        double r125743 = r125742 * r125729;
        double r125744 = fma(r125711, r125710, r125743);
        double r125745 = 1.6198574735816835e-205;
        bool r125746 = r125706 <= r125745;
        double r125747 = r125746 ? r125738 : r125731;
        double r125748 = r125740 ? r125744 : r125747;
        double r125749 = r125733 ? r125738 : r125748;
        double r125750 = r125708 ? r125731 : r125749;
        return r125750;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Derivation

  1. Split input into 3 regimes
  2. if a < -7.303074110842033e-56 or 1.6198574735816835e-205 < a

    1. Initial program 11.4

      \[x + \left(y - z\right) \cdot \frac{t - x}{a - z}\]
    2. Using strategy rm
    3. Applied add-cube-cbrt11.9

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

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

      \[\leadsto x + \left(y - z\right) \cdot \color{blue}{\left(\frac{\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}} \cdot \frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}}\right)}\]
    6. Applied associate-*r*9.6

      \[\leadsto x + \color{blue}{\left(\left(y - z\right) \cdot \frac{\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}\right) \cdot \frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}}}\]
    7. Using strategy rm
    8. Applied add-cube-cbrt10.1

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

      \[\leadsto \color{blue}{\mathsf{fma}\left(\sqrt[3]{x} \cdot \sqrt[3]{x}, \sqrt[3]{x}, \left(\left(y - z\right) \cdot \frac{\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}\right) \cdot \frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}}\right)}\]
    10. Using strategy rm
    11. Applied add-cube-cbrt10.1

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

      \[\leadsto \mathsf{fma}\left(\sqrt[3]{x} \cdot \sqrt[3]{x}, \sqrt[3]{x}, \color{blue}{\left(\left(\sqrt[3]{y - z} \cdot \sqrt[3]{y - z}\right) \cdot \left(\sqrt[3]{y - z} \cdot \frac{\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}\right)\right)} \cdot \frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}}\right)\]
    13. Using strategy rm
    14. Applied div-inv10.1

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

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

    if -7.303074110842033e-56 < a < -1.860109821827876e-107 or -1.1082483719169987e-137 < a < 1.6198574735816835e-205

    1. Initial program 24.9

      \[x + \left(y - z\right) \cdot \frac{t - x}{a - z}\]
    2. Taylor expanded around inf 14.4

      \[\leadsto \color{blue}{\left(\frac{x \cdot y}{z} + t\right) - \frac{t \cdot y}{z}}\]
    3. Simplified13.8

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

    if -1.860109821827876e-107 < a < -1.1082483719169987e-137

    1. Initial program 22.6

      \[x + \left(y - z\right) \cdot \frac{t - x}{a - z}\]
    2. Using strategy rm
    3. Applied add-cube-cbrt23.4

      \[\leadsto x + \left(y - z\right) \cdot \frac{t - x}{\color{blue}{\left(\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}\right) \cdot \sqrt[3]{a - z}}}\]
    4. Applied add-cube-cbrt23.5

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

      \[\leadsto x + \left(y - z\right) \cdot \color{blue}{\left(\frac{\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}} \cdot \frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}}\right)}\]
    6. Applied associate-*r*17.0

      \[\leadsto x + \color{blue}{\left(\left(y - z\right) \cdot \frac{\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}\right) \cdot \frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}}}\]
    7. Using strategy rm
    8. Applied add-cube-cbrt17.1

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;a \le -7.30307411084203265 \cdot 10^{-56}:\\ \;\;\;\;\mathsf{fma}\left(\sqrt[3]{x} \cdot \sqrt[3]{x}, \sqrt[3]{x}, \left(\left(\sqrt[3]{y - z} \cdot \sqrt[3]{y - z}\right) \cdot \left(\left(\sqrt[3]{y - z} \cdot \left(\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}\right)\right) \cdot \frac{1}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}\right)\right) \cdot \frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}}\right)\\ \mathbf{elif}\;a \le -1.8601098218278759 \cdot 10^{-107}:\\ \;\;\;\;\mathsf{fma}\left(\frac{x}{z}, y, t - \frac{t \cdot y}{z}\right)\\ \mathbf{elif}\;a \le -1.1082483719169987 \cdot 10^{-137}:\\ \;\;\;\;\mathsf{fma}\left(\sqrt[3]{x} \cdot \sqrt[3]{x}, \sqrt[3]{x}, \left(\left(y - z\right) \cdot \frac{\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}\right) \cdot \frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}}\right)\\ \mathbf{elif}\;a \le 1.6198574735816835 \cdot 10^{-205}:\\ \;\;\;\;\mathsf{fma}\left(\frac{x}{z}, y, t - \frac{t \cdot y}{z}\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\sqrt[3]{x} \cdot \sqrt[3]{x}, \sqrt[3]{x}, \left(\left(\sqrt[3]{y - z} \cdot \sqrt[3]{y - z}\right) \cdot \left(\left(\sqrt[3]{y - z} \cdot \left(\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}\right)\right) \cdot \frac{1}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}\right)\right) \cdot \frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}}\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2020033 +o rules:numerics
(FPCore (x y z t a)
  :name "Numeric.Signal:interpolate   from hsignal-0.2.7.1"
  :precision binary64
  (+ x (* (- y z) (/ (- t x) (- a z)))))