Average Error: 6.1 → 3.0
Time: 20.1s
Precision: 64
\[x \cdot x - \left(y \cdot 4\right) \cdot \left(z \cdot z - t\right)\]
\[\begin{array}{l} \mathbf{if}\;z \le -1.35702110706452101 \cdot 10^{154}:\\ \;\;\;\;x \cdot x - \left(\left(z + \sqrt{t}\right) \cdot \left(y \cdot 4\right)\right) \cdot \left(z - \sqrt{t}\right)\\ \mathbf{elif}\;z \le 1.35751735716676401 \cdot 10^{154}:\\ \;\;\;\;x \cdot x - \left(y \cdot 4\right) \cdot \left(z \cdot z - t\right)\\ \mathbf{else}:\\ \;\;\;\;x \cdot x - \left(\left(z + \sqrt{t}\right) \cdot \left(y \cdot 4\right)\right) \cdot \left(\left(\sqrt{\sqrt{t}} + \sqrt{z}\right) \cdot \left(\sqrt{z} - \sqrt{\sqrt{t}}\right)\right)\\ \end{array}\]
x \cdot x - \left(y \cdot 4\right) \cdot \left(z \cdot z - t\right)
\begin{array}{l}
\mathbf{if}\;z \le -1.35702110706452101 \cdot 10^{154}:\\
\;\;\;\;x \cdot x - \left(\left(z + \sqrt{t}\right) \cdot \left(y \cdot 4\right)\right) \cdot \left(z - \sqrt{t}\right)\\

\mathbf{elif}\;z \le 1.35751735716676401 \cdot 10^{154}:\\
\;\;\;\;x \cdot x - \left(y \cdot 4\right) \cdot \left(z \cdot z - t\right)\\

\mathbf{else}:\\
\;\;\;\;x \cdot x - \left(\left(z + \sqrt{t}\right) \cdot \left(y \cdot 4\right)\right) \cdot \left(\left(\sqrt{\sqrt{t}} + \sqrt{z}\right) \cdot \left(\sqrt{z} - \sqrt{\sqrt{t}}\right)\right)\\

\end{array}
double f(double x, double y, double z, double t) {
        double r449033 = x;
        double r449034 = r449033 * r449033;
        double r449035 = y;
        double r449036 = 4.0;
        double r449037 = r449035 * r449036;
        double r449038 = z;
        double r449039 = r449038 * r449038;
        double r449040 = t;
        double r449041 = r449039 - r449040;
        double r449042 = r449037 * r449041;
        double r449043 = r449034 - r449042;
        return r449043;
}

double f(double x, double y, double z, double t) {
        double r449044 = z;
        double r449045 = -1.357021107064521e+154;
        bool r449046 = r449044 <= r449045;
        double r449047 = x;
        double r449048 = r449047 * r449047;
        double r449049 = t;
        double r449050 = sqrt(r449049);
        double r449051 = r449044 + r449050;
        double r449052 = y;
        double r449053 = 4.0;
        double r449054 = r449052 * r449053;
        double r449055 = r449051 * r449054;
        double r449056 = r449044 - r449050;
        double r449057 = r449055 * r449056;
        double r449058 = r449048 - r449057;
        double r449059 = 1.357517357166764e+154;
        bool r449060 = r449044 <= r449059;
        double r449061 = r449044 * r449044;
        double r449062 = r449061 - r449049;
        double r449063 = r449054 * r449062;
        double r449064 = r449048 - r449063;
        double r449065 = sqrt(r449050);
        double r449066 = sqrt(r449044);
        double r449067 = r449065 + r449066;
        double r449068 = r449066 - r449065;
        double r449069 = r449067 * r449068;
        double r449070 = r449055 * r449069;
        double r449071 = r449048 - r449070;
        double r449072 = r449060 ? r449064 : r449071;
        double r449073 = r449046 ? r449058 : r449072;
        return r449073;
}

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.1
Target6.0
Herbie3.0
\[x \cdot x - 4 \cdot \left(y \cdot \left(z \cdot z - t\right)\right)\]

Derivation

  1. Split input into 3 regimes
  2. if z < -1.357021107064521e+154

    1. Initial program 64.0

      \[x \cdot x - \left(y \cdot 4\right) \cdot \left(z \cdot z - t\right)\]
    2. Using strategy rm
    3. Applied add-sqr-sqrt64.0

      \[\leadsto x \cdot x - \left(y \cdot 4\right) \cdot \left(z \cdot z - \color{blue}{\sqrt{t} \cdot \sqrt{t}}\right)\]
    4. Applied difference-of-squares64.0

      \[\leadsto x \cdot x - \left(y \cdot 4\right) \cdot \color{blue}{\left(\left(z + \sqrt{t}\right) \cdot \left(z - \sqrt{t}\right)\right)}\]
    5. Applied associate-*r*30.8

      \[\leadsto x \cdot x - \color{blue}{\left(\left(y \cdot 4\right) \cdot \left(z + \sqrt{t}\right)\right) \cdot \left(z - \sqrt{t}\right)}\]
    6. Simplified30.8

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

    if -1.357021107064521e+154 < z < 1.357517357166764e+154

    1. Initial program 0.1

      \[x \cdot x - \left(y \cdot 4\right) \cdot \left(z \cdot z - t\right)\]

    if 1.357517357166764e+154 < z

    1. Initial program 64.0

      \[x \cdot x - \left(y \cdot 4\right) \cdot \left(z \cdot z - t\right)\]
    2. Using strategy rm
    3. Applied add-sqr-sqrt64.0

      \[\leadsto x \cdot x - \left(y \cdot 4\right) \cdot \left(z \cdot z - \color{blue}{\sqrt{t} \cdot \sqrt{t}}\right)\]
    4. Applied difference-of-squares64.0

      \[\leadsto x \cdot x - \left(y \cdot 4\right) \cdot \color{blue}{\left(\left(z + \sqrt{t}\right) \cdot \left(z - \sqrt{t}\right)\right)}\]
    5. Applied associate-*r*32.6

      \[\leadsto x \cdot x - \color{blue}{\left(\left(y \cdot 4\right) \cdot \left(z + \sqrt{t}\right)\right) \cdot \left(z - \sqrt{t}\right)}\]
    6. Simplified32.6

      \[\leadsto x \cdot x - \color{blue}{\left(\left(z + \sqrt{t}\right) \cdot \left(y \cdot 4\right)\right)} \cdot \left(z - \sqrt{t}\right)\]
    7. Using strategy rm
    8. Applied add-sqr-sqrt32.6

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

      \[\leadsto x \cdot x - \left(\left(z + \sqrt{t}\right) \cdot \left(y \cdot 4\right)\right) \cdot \left(z - \color{blue}{\sqrt{\sqrt{t}} \cdot \sqrt{\sqrt{t}}}\right)\]
    10. Applied add-sqr-sqrt32.7

      \[\leadsto x \cdot x - \left(\left(z + \sqrt{t}\right) \cdot \left(y \cdot 4\right)\right) \cdot \left(\color{blue}{\sqrt{z} \cdot \sqrt{z}} - \sqrt{\sqrt{t}} \cdot \sqrt{\sqrt{t}}\right)\]
    11. Applied difference-of-squares32.7

      \[\leadsto x \cdot x - \left(\left(z + \sqrt{t}\right) \cdot \left(y \cdot 4\right)\right) \cdot \color{blue}{\left(\left(\sqrt{z} + \sqrt{\sqrt{t}}\right) \cdot \left(\sqrt{z} - \sqrt{\sqrt{t}}\right)\right)}\]
    12. Simplified32.7

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;z \le -1.35702110706452101 \cdot 10^{154}:\\ \;\;\;\;x \cdot x - \left(\left(z + \sqrt{t}\right) \cdot \left(y \cdot 4\right)\right) \cdot \left(z - \sqrt{t}\right)\\ \mathbf{elif}\;z \le 1.35751735716676401 \cdot 10^{154}:\\ \;\;\;\;x \cdot x - \left(y \cdot 4\right) \cdot \left(z \cdot z - t\right)\\ \mathbf{else}:\\ \;\;\;\;x \cdot x - \left(\left(z + \sqrt{t}\right) \cdot \left(y \cdot 4\right)\right) \cdot \left(\left(\sqrt{\sqrt{t}} + \sqrt{z}\right) \cdot \left(\sqrt{z} - \sqrt{\sqrt{t}}\right)\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019199 
(FPCore (x y z t)
  :name "Graphics.Rasterific.Shading:$sradialGradientWithFocusShader from Rasterific-0.6.1, B"

  :herbie-target
  (- (* x x) (* 4.0 (* y (- (* z z) t))))

  (- (* x x) (* (* y 4.0) (- (* z z) t))))