Average Error: 3.5 → 1.6
Time: 4.8s
Precision: 64
\[\left(x - \frac{y}{z \cdot 3}\right) + \frac{t}{\left(z \cdot 3\right) \cdot y}\]
\[\begin{array}{l} \mathbf{if}\;t \le 1.7988374144992952 \cdot 10^{-152}:\\ \;\;\;\;\left(x - \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{1} \cdot \frac{\frac{y}{3}}{z}\right) + \frac{t \cdot \frac{1}{z \cdot 3}}{y}\\ \mathbf{else}:\\ \;\;\;\;\left(x - \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{1} \cdot \frac{\frac{y}{3}}{z}\right) + 0.333333333333333315 \cdot \frac{t}{z \cdot y}\\ \end{array}\]
\left(x - \frac{y}{z \cdot 3}\right) + \frac{t}{\left(z \cdot 3\right) \cdot y}
\begin{array}{l}
\mathbf{if}\;t \le 1.7988374144992952 \cdot 10^{-152}:\\
\;\;\;\;\left(x - \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{1} \cdot \frac{\frac{y}{3}}{z}\right) + \frac{t \cdot \frac{1}{z \cdot 3}}{y}\\

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

\end{array}
double f(double x, double y, double z, double t) {
        double r711910 = x;
        double r711911 = y;
        double r711912 = z;
        double r711913 = 3.0;
        double r711914 = r711912 * r711913;
        double r711915 = r711911 / r711914;
        double r711916 = r711910 - r711915;
        double r711917 = t;
        double r711918 = r711914 * r711911;
        double r711919 = r711917 / r711918;
        double r711920 = r711916 + r711919;
        return r711920;
}

double f(double x, double y, double z, double t) {
        double r711921 = t;
        double r711922 = 1.7988374144992952e-152;
        bool r711923 = r711921 <= r711922;
        double r711924 = x;
        double r711925 = 1.0;
        double r711926 = cbrt(r711925);
        double r711927 = r711926 * r711926;
        double r711928 = r711927 / r711925;
        double r711929 = y;
        double r711930 = 3.0;
        double r711931 = r711929 / r711930;
        double r711932 = z;
        double r711933 = r711931 / r711932;
        double r711934 = r711928 * r711933;
        double r711935 = r711924 - r711934;
        double r711936 = r711932 * r711930;
        double r711937 = r711925 / r711936;
        double r711938 = r711921 * r711937;
        double r711939 = r711938 / r711929;
        double r711940 = r711935 + r711939;
        double r711941 = 0.3333333333333333;
        double r711942 = r711932 * r711929;
        double r711943 = r711921 / r711942;
        double r711944 = r711941 * r711943;
        double r711945 = r711935 + r711944;
        double r711946 = r711923 ? r711940 : r711945;
        return r711946;
}

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

Original3.5
Target1.7
Herbie1.6
\[\left(x - \frac{y}{z \cdot 3}\right) + \frac{\frac{t}{z \cdot 3}}{y}\]

Derivation

  1. Split input into 2 regimes
  2. if t < 1.7988374144992952e-152

    1. Initial program 4.5

      \[\left(x - \frac{y}{z \cdot 3}\right) + \frac{t}{\left(z \cdot 3\right) \cdot y}\]
    2. Using strategy rm
    3. Applied associate-/r*1.7

      \[\leadsto \left(x - \frac{y}{z \cdot 3}\right) + \color{blue}{\frac{\frac{t}{z \cdot 3}}{y}}\]
    4. Using strategy rm
    5. Applied *-un-lft-identity1.7

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

      \[\leadsto \left(x - \color{blue}{\frac{1}{z} \cdot \frac{y}{3}}\right) + \frac{\frac{t}{z \cdot 3}}{y}\]
    7. Using strategy rm
    8. Applied *-un-lft-identity1.7

      \[\leadsto \left(x - \frac{1}{\color{blue}{1 \cdot z}} \cdot \frac{y}{3}\right) + \frac{\frac{t}{z \cdot 3}}{y}\]
    9. Applied add-cube-cbrt1.7

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

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

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

      \[\leadsto \left(x - \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{1} \cdot \color{blue}{\frac{\frac{y}{3}}{z}}\right) + \frac{\frac{t}{z \cdot 3}}{y}\]
    13. Using strategy rm
    14. Applied div-inv1.7

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

    if 1.7988374144992952e-152 < t

    1. Initial program 1.6

      \[\left(x - \frac{y}{z \cdot 3}\right) + \frac{t}{\left(z \cdot 3\right) \cdot y}\]
    2. Using strategy rm
    3. Applied associate-/r*1.6

      \[\leadsto \left(x - \frac{y}{z \cdot 3}\right) + \color{blue}{\frac{\frac{t}{z \cdot 3}}{y}}\]
    4. Using strategy rm
    5. Applied *-un-lft-identity1.6

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

      \[\leadsto \left(x - \color{blue}{\frac{1}{z} \cdot \frac{y}{3}}\right) + \frac{\frac{t}{z \cdot 3}}{y}\]
    7. Using strategy rm
    8. Applied *-un-lft-identity1.7

      \[\leadsto \left(x - \frac{1}{\color{blue}{1 \cdot z}} \cdot \frac{y}{3}\right) + \frac{\frac{t}{z \cdot 3}}{y}\]
    9. Applied add-cube-cbrt1.7

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

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

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

      \[\leadsto \left(x - \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{1} \cdot \color{blue}{\frac{\frac{y}{3}}{z}}\right) + \frac{\frac{t}{z \cdot 3}}{y}\]
    13. Taylor expanded around 0 1.6

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

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

Reproduce

herbie shell --seed 2020064 +o rules:numerics
(FPCore (x y z t)
  :name "Diagrams.Solve.Polynomial:cubForm  from diagrams-solve-0.1, H"
  :precision binary64

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

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