Average Error: 6.4 → 1.8
Time: 23.4s
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 r266194 = x;
        double r266195 = y;
        double r266196 = z;
        double r266197 = r266196 - r266194;
        double r266198 = r266195 * r266197;
        double r266199 = t;
        double r266200 = r266198 / r266199;
        double r266201 = r266194 + r266200;
        return r266201;
}

double f(double x, double y, double z, double t) {
        double r266202 = t;
        double r266203 = -4.0241106906361557e-54;
        bool r266204 = r266202 <= r266203;
        double r266205 = x;
        double r266206 = y;
        double r266207 = z;
        double r266208 = r266207 / r266202;
        double r266209 = r266205 / r266202;
        double r266210 = r266208 - r266209;
        double r266211 = r266206 * r266210;
        double r266212 = r266205 + r266211;
        double r266213 = 4.4825416426582985e-266;
        bool r266214 = r266202 <= r266213;
        double r266215 = 1.0;
        double r266216 = r266207 - r266205;
        double r266217 = r266206 * r266216;
        double r266218 = r266202 / r266217;
        double r266219 = r266215 / r266218;
        double r266220 = r266205 + r266219;
        double r266221 = cbrt(r266206);
        double r266222 = r266221 * r266221;
        double r266223 = cbrt(r266202);
        double r266224 = r266222 / r266223;
        double r266225 = r266221 / r266223;
        double r266226 = r266216 / r266223;
        double r266227 = r266225 * r266226;
        double r266228 = r266224 * r266227;
        double r266229 = r266205 + r266228;
        double r266230 = r266214 ? r266220 : r266229;
        double r266231 = r266204 ? r266212 : r266230;
        return r266231;
}

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)))