Average Error: 6.4 → 1.8
Time: 23.6s
Precision: 64
\[x + \frac{y \cdot \left(z - x\right)}{t}\]
\[\begin{array}{l} \mathbf{if}\;t \le -4.024110690636155670064376141757827793703 \cdot 10^{-54}:\\ \;\;\;\;x + y \cdot \left(\frac{z}{t} - \frac{x}{t}\right)\\ \mathbf{elif}\;t \le 4.482541642658298470975327978871003617787 \cdot 10^{-266}:\\ \;\;\;\;x + \frac{1}{\frac{t}{y \cdot \left(z - x\right)}}\\ \mathbf{else}:\\ \;\;\;\;x + \frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt[3]{t}} \cdot \left(\frac{\sqrt[3]{y}}{\sqrt[3]{t}} \cdot \frac{z - x}{\sqrt[3]{t}}\right)\\ \end{array}\]
x + \frac{y \cdot \left(z - x\right)}{t}
\begin{array}{l}
\mathbf{if}\;t \le -4.024110690636155670064376141757827793703 \cdot 10^{-54}:\\
\;\;\;\;x + y \cdot \left(\frac{z}{t} - \frac{x}{t}\right)\\

\mathbf{elif}\;t \le 4.482541642658298470975327978871003617787 \cdot 10^{-266}:\\
\;\;\;\;x + \frac{1}{\frac{t}{y \cdot \left(z - x\right)}}\\

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

\end{array}
double f(double x, double y, double z, double t) {
        double r312951 = x;
        double r312952 = y;
        double r312953 = z;
        double r312954 = r312953 - r312951;
        double r312955 = r312952 * r312954;
        double r312956 = t;
        double r312957 = r312955 / r312956;
        double r312958 = r312951 + r312957;
        return r312958;
}

double f(double x, double y, double z, double t) {
        double r312959 = t;
        double r312960 = -4.0241106906361557e-54;
        bool r312961 = r312959 <= r312960;
        double r312962 = x;
        double r312963 = y;
        double r312964 = z;
        double r312965 = r312964 / r312959;
        double r312966 = r312962 / r312959;
        double r312967 = r312965 - r312966;
        double r312968 = r312963 * r312967;
        double r312969 = r312962 + r312968;
        double r312970 = 4.4825416426582985e-266;
        bool r312971 = r312959 <= r312970;
        double r312972 = 1.0;
        double r312973 = r312964 - r312962;
        double r312974 = r312963 * r312973;
        double r312975 = r312959 / r312974;
        double r312976 = r312972 / r312975;
        double r312977 = r312962 + r312976;
        double r312978 = cbrt(r312963);
        double r312979 = r312978 * r312978;
        double r312980 = cbrt(r312959);
        double r312981 = r312979 / r312980;
        double r312982 = r312978 / r312980;
        double r312983 = r312973 / r312980;
        double r312984 = r312982 * r312983;
        double r312985 = r312981 * r312984;
        double r312986 = r312962 + r312985;
        double r312987 = r312971 ? r312977 : r312986;
        double r312988 = r312961 ? r312969 : r312987;
        return r312988;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original6.4
Target2.2
Herbie1.8
\[x - \left(x \cdot \frac{y}{t} + \left(-z\right) \cdot \frac{y}{t}\right)\]

Derivation

  1. Split input into 3 regimes
  2. if t < -4.0241106906361557e-54

    1. Initial program 8.6

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

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

      \[\leadsto x + \color{blue}{\frac{y}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \frac{z - x}{\sqrt[3]{t}}}\]
    5. Taylor expanded around 0 8.6

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

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

    if -4.0241106906361557e-54 < t < 4.4825416426582985e-266

    1. Initial program 2.3

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

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

    if 4.4825416426582985e-266 < t

    1. Initial program 6.2

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

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

      \[\leadsto x + \color{blue}{\frac{y}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \frac{z - x}{\sqrt[3]{t}}}\]
    5. Using strategy rm
    6. Applied add-cube-cbrt2.9

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

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

      \[\leadsto x + \color{blue}{\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt[3]{t}} \cdot \left(\frac{\sqrt[3]{y}}{\sqrt[3]{t}} \cdot \frac{z - x}{\sqrt[3]{t}}\right)}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification1.8

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le -4.024110690636155670064376141757827793703 \cdot 10^{-54}:\\ \;\;\;\;x + y \cdot \left(\frac{z}{t} - \frac{x}{t}\right)\\ \mathbf{elif}\;t \le 4.482541642658298470975327978871003617787 \cdot 10^{-266}:\\ \;\;\;\;x + \frac{1}{\frac{t}{y \cdot \left(z - x\right)}}\\ \mathbf{else}:\\ \;\;\;\;x + \frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt[3]{t}} \cdot \left(\frac{\sqrt[3]{y}}{\sqrt[3]{t}} \cdot \frac{z - x}{\sqrt[3]{t}}\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019323 
(FPCore (x y z t)
  :name "Optimisation.CirclePacking:place from circle-packing-0.1.0.4, D"
  :precision binary64

  :herbie-target
  (- x (+ (* x (/ y t)) (* (- z) (/ y t))))

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