Average Error: 25.5 → 7.0
Time: 5.8s
Precision: binary64
\[\frac{\left(x \cdot y\right) \cdot z}{\sqrt{z \cdot z - t \cdot a}}\]
\[\begin{array}{l} \mathbf{if}\;z \leq -6.199495381344021 \cdot 10^{+71}:\\ \;\;\;\;y \cdot \frac{x}{\frac{0.5 \cdot \left(\frac{a}{z} \cdot t\right) - z}{z}}\\ \mathbf{elif}\;z \leq 9.586635798481338 \cdot 10^{+25}:\\ \;\;\;\;\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(y \cdot \left(\sqrt[3]{x} \cdot \frac{z}{\left(\sqrt[3]{\sqrt{z \cdot z - a \cdot t}} \cdot \sqrt[3]{\sqrt{z \cdot z - a \cdot t}}\right) \cdot \sqrt[3]{\sqrt[3]{\sqrt{z \cdot z - a \cdot t}} \cdot \sqrt[3]{z \cdot z - a \cdot t}}}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;x \cdot \left(y \cdot \frac{z}{z + \left(\frac{a}{z} \cdot t\right) \cdot -0.5}\right)\\ \end{array}\]
\frac{\left(x \cdot y\right) \cdot z}{\sqrt{z \cdot z - t \cdot a}}
\begin{array}{l}
\mathbf{if}\;z \leq -6.199495381344021 \cdot 10^{+71}:\\
\;\;\;\;y \cdot \frac{x}{\frac{0.5 \cdot \left(\frac{a}{z} \cdot t\right) - z}{z}}\\

\mathbf{elif}\;z \leq 9.586635798481338 \cdot 10^{+25}:\\
\;\;\;\;\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(y \cdot \left(\sqrt[3]{x} \cdot \frac{z}{\left(\sqrt[3]{\sqrt{z \cdot z - a \cdot t}} \cdot \sqrt[3]{\sqrt{z \cdot z - a \cdot t}}\right) \cdot \sqrt[3]{\sqrt[3]{\sqrt{z \cdot z - a \cdot t}} \cdot \sqrt[3]{z \cdot z - a \cdot t}}}\right)\right)\\

\mathbf{else}:\\
\;\;\;\;x \cdot \left(y \cdot \frac{z}{z + \left(\frac{a}{z} \cdot t\right) \cdot -0.5}\right)\\

\end{array}
double code(double x, double y, double z, double t, double a) {
	return (((double) (((double) (x * y)) * z)) / ((double) sqrt(((double) (((double) (z * z)) - ((double) (t * a)))))));
}
double code(double x, double y, double z, double t, double a) {
	double VAR;
	if ((z <= -6.199495381344021e+71)) {
		VAR = ((double) (y * (x / (((double) (((double) (0.5 * ((double) ((a / z) * t)))) - z)) / z))));
	} else {
		double VAR_1;
		if ((z <= 9.586635798481338e+25)) {
			VAR_1 = ((double) (((double) (((double) cbrt(x)) * ((double) cbrt(x)))) * ((double) (y * ((double) (((double) cbrt(x)) * (z / ((double) (((double) (((double) cbrt(((double) sqrt(((double) (((double) (z * z)) - ((double) (a * t)))))))) * ((double) cbrt(((double) sqrt(((double) (((double) (z * z)) - ((double) (a * t)))))))))) * ((double) cbrt(((double) (((double) cbrt(((double) sqrt(((double) (((double) (z * z)) - ((double) (a * t)))))))) * ((double) cbrt(((double) (((double) (z * z)) - ((double) (a * t)))))))))))))))))));
		} else {
			VAR_1 = ((double) (x * ((double) (y * (z / ((double) (z + ((double) (((double) ((a / z) * t)) * -0.5)))))))));
		}
		VAR = VAR_1;
	}
	return VAR;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original25.5
Target8.0
Herbie7.0
\[\begin{array}{l} \mathbf{if}\;z < -3.1921305903852764 \cdot 10^{+46}:\\ \;\;\;\;-y \cdot x\\ \mathbf{elif}\;z < 5.976268120920894 \cdot 10^{+90}:\\ \;\;\;\;\frac{x \cdot z}{\frac{\sqrt{z \cdot z - a \cdot t}}{y}}\\ \mathbf{else}:\\ \;\;\;\;y \cdot x\\ \end{array}\]

Derivation

  1. Split input into 3 regimes
  2. if z < -6.19949538134402123e71

    1. Initial program 41.4

      \[\frac{\left(x \cdot y\right) \cdot z}{\sqrt{z \cdot z - t \cdot a}}\]
    2. Simplified38.0

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

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

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

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

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

      \[\leadsto \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(y \cdot \left(\color{blue}{{\left(\frac{z}{\sqrt{z \cdot z - t \cdot a}}\right)}^{1}} \cdot {\left(\sqrt[3]{x}\right)}^{1}\right)\right)\]
    10. Applied pow-prod-down38.3

      \[\leadsto \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(y \cdot \color{blue}{{\left(\frac{z}{\sqrt{z \cdot z - t \cdot a}} \cdot \sqrt[3]{x}\right)}^{1}}\right)\]
    11. Applied pow138.3

      \[\leadsto \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(\color{blue}{{y}^{1}} \cdot {\left(\frac{z}{\sqrt{z \cdot z - t \cdot a}} \cdot \sqrt[3]{x}\right)}^{1}\right)\]
    12. Applied pow-prod-down38.3

      \[\leadsto \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \color{blue}{{\left(y \cdot \left(\frac{z}{\sqrt{z \cdot z - t \cdot a}} \cdot \sqrt[3]{x}\right)\right)}^{1}}\]
    13. Applied pow138.3

      \[\leadsto \left(\sqrt[3]{x} \cdot \color{blue}{{\left(\sqrt[3]{x}\right)}^{1}}\right) \cdot {\left(y \cdot \left(\frac{z}{\sqrt{z \cdot z - t \cdot a}} \cdot \sqrt[3]{x}\right)\right)}^{1}\]
    14. Applied pow138.3

      \[\leadsto \left(\color{blue}{{\left(\sqrt[3]{x}\right)}^{1}} \cdot {\left(\sqrt[3]{x}\right)}^{1}\right) \cdot {\left(y \cdot \left(\frac{z}{\sqrt{z \cdot z - t \cdot a}} \cdot \sqrt[3]{x}\right)\right)}^{1}\]
    15. Applied pow-prod-down38.3

      \[\leadsto \color{blue}{{\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{1}} \cdot {\left(y \cdot \left(\frac{z}{\sqrt{z \cdot z - t \cdot a}} \cdot \sqrt[3]{x}\right)\right)}^{1}\]
    16. Applied pow-prod-down38.3

      \[\leadsto \color{blue}{{\left(\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(y \cdot \left(\frac{z}{\sqrt{z \cdot z - t \cdot a}} \cdot \sqrt[3]{x}\right)\right)\right)}^{1}}\]
    17. Simplified38.0

      \[\leadsto {\color{blue}{\left(y \cdot \frac{x}{\frac{\sqrt{z \cdot z - t \cdot a}}{z}}\right)}}^{1}\]
    18. Taylor expanded around -inf 6.3

      \[\leadsto {\left(y \cdot \frac{x}{\frac{\color{blue}{0.5 \cdot \frac{a \cdot t}{z} - z}}{z}}\right)}^{1}\]
    19. Simplified2.9

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

    if -6.19949538134402123e71 < z < 9.5866357984813382e25

    1. Initial program 12.3

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

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

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

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

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

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

      \[\leadsto \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(y \cdot \left(\frac{z}{\left(\sqrt[3]{\sqrt{z \cdot z - t \cdot a}} \cdot \sqrt[3]{\sqrt{z \cdot z - t \cdot a}}\right) \cdot \sqrt[3]{\color{blue}{\left(\sqrt[3]{\sqrt{z \cdot z - t \cdot a}} \cdot \sqrt[3]{\sqrt{z \cdot z - t \cdot a}}\right) \cdot \sqrt[3]{\sqrt{z \cdot z - t \cdot a}}}}} \cdot \sqrt[3]{x}\right)\right)\]
    11. Simplified10.7

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

    if 9.5866357984813382e25 < z

    1. Initial program 34.7

      \[\frac{\left(x \cdot y\right) \cdot z}{\sqrt{z \cdot z - t \cdot a}}\]
    2. Simplified32.5

      \[\leadsto \color{blue}{x \cdot \left(y \cdot \frac{z}{\sqrt{z \cdot z - t \cdot a}}\right)}\]
    3. Taylor expanded around inf 6.6

      \[\leadsto x \cdot \left(y \cdot \frac{z}{\color{blue}{z - 0.5 \cdot \frac{a \cdot t}{z}}}\right)\]
    4. Simplified4.1

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;z \leq -6.199495381344021 \cdot 10^{+71}:\\ \;\;\;\;y \cdot \frac{x}{\frac{0.5 \cdot \left(\frac{a}{z} \cdot t\right) - z}{z}}\\ \mathbf{elif}\;z \leq 9.586635798481338 \cdot 10^{+25}:\\ \;\;\;\;\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(y \cdot \left(\sqrt[3]{x} \cdot \frac{z}{\left(\sqrt[3]{\sqrt{z \cdot z - a \cdot t}} \cdot \sqrt[3]{\sqrt{z \cdot z - a \cdot t}}\right) \cdot \sqrt[3]{\sqrt[3]{\sqrt{z \cdot z - a \cdot t}} \cdot \sqrt[3]{z \cdot z - a \cdot t}}}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;x \cdot \left(y \cdot \frac{z}{z + \left(\frac{a}{z} \cdot t\right) \cdot -0.5}\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2020196 
(FPCore (x y z t a)
  :name "Statistics.Math.RootFinding:ridders from math-functions-0.1.5.2"
  :precision binary64

  :herbie-target
  (if (< z -3.1921305903852764e+46) (- (* y x)) (if (< z 5.976268120920894e+90) (/ (* x z) (/ (sqrt (- (* z z) (* a t))) y)) (* y x)))

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