Average Error: 20.8 → 18.4
Time: 11.7s
Precision: 64
\[\left(2 \cdot \sqrt{x}\right) \cdot \cos \left(y - \frac{z \cdot t}{3}\right) - \frac{a}{b \cdot 3}\]
\[\begin{array}{l} \mathbf{if}\;\cos \left(y - \frac{z \cdot t}{3}\right) \le 0.999991553212150719:\\ \;\;\;\;\left(\left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \cos \left(0.333333333333333315 \cdot \left(t \cdot z\right)\right)\right) + 0\right) - \frac{a}{b \cdot 3}\\ \mathbf{else}:\\ \;\;\;\;\left(2 \cdot \sqrt{x}\right) \cdot \left(1 - \frac{1}{2} \cdot {y}^{2}\right) - \frac{a}{b \cdot 3}\\ \end{array}\]
\left(2 \cdot \sqrt{x}\right) \cdot \cos \left(y - \frac{z \cdot t}{3}\right) - \frac{a}{b \cdot 3}
\begin{array}{l}
\mathbf{if}\;\cos \left(y - \frac{z \cdot t}{3}\right) \le 0.999991553212150719:\\
\;\;\;\;\left(\left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \cos \left(0.333333333333333315 \cdot \left(t \cdot z\right)\right)\right) + 0\right) - \frac{a}{b \cdot 3}\\

\mathbf{else}:\\
\;\;\;\;\left(2 \cdot \sqrt{x}\right) \cdot \left(1 - \frac{1}{2} \cdot {y}^{2}\right) - \frac{a}{b \cdot 3}\\

\end{array}
double f(double x, double y, double z, double t, double a, double b) {
        double r726093 = 2.0;
        double r726094 = x;
        double r726095 = sqrt(r726094);
        double r726096 = r726093 * r726095;
        double r726097 = y;
        double r726098 = z;
        double r726099 = t;
        double r726100 = r726098 * r726099;
        double r726101 = 3.0;
        double r726102 = r726100 / r726101;
        double r726103 = r726097 - r726102;
        double r726104 = cos(r726103);
        double r726105 = r726096 * r726104;
        double r726106 = a;
        double r726107 = b;
        double r726108 = r726107 * r726101;
        double r726109 = r726106 / r726108;
        double r726110 = r726105 - r726109;
        return r726110;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r726111 = y;
        double r726112 = z;
        double r726113 = t;
        double r726114 = r726112 * r726113;
        double r726115 = 3.0;
        double r726116 = r726114 / r726115;
        double r726117 = r726111 - r726116;
        double r726118 = cos(r726117);
        double r726119 = 0.9999915532121507;
        bool r726120 = r726118 <= r726119;
        double r726121 = 2.0;
        double r726122 = x;
        double r726123 = sqrt(r726122);
        double r726124 = r726121 * r726123;
        double r726125 = cos(r726111);
        double r726126 = 0.3333333333333333;
        double r726127 = r726113 * r726112;
        double r726128 = r726126 * r726127;
        double r726129 = cos(r726128);
        double r726130 = r726125 * r726129;
        double r726131 = r726124 * r726130;
        double r726132 = 0.0;
        double r726133 = r726131 + r726132;
        double r726134 = a;
        double r726135 = b;
        double r726136 = r726135 * r726115;
        double r726137 = r726134 / r726136;
        double r726138 = r726133 - r726137;
        double r726139 = 1.0;
        double r726140 = 0.5;
        double r726141 = 2.0;
        double r726142 = pow(r726111, r726141);
        double r726143 = r726140 * r726142;
        double r726144 = r726139 - r726143;
        double r726145 = r726124 * r726144;
        double r726146 = r726145 - r726137;
        double r726147 = r726120 ? r726138 : r726146;
        return r726147;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Bits error versus b

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original20.8
Target18.8
Herbie18.4
\[\begin{array}{l} \mathbf{if}\;z \lt -1.379333748723514 \cdot 10^{129}:\\ \;\;\;\;\left(2 \cdot \sqrt{x}\right) \cdot \cos \left(\frac{1}{y} - \frac{\frac{0.333333333333333315}{z}}{t}\right) - \frac{\frac{a}{3}}{b}\\ \mathbf{elif}\;z \lt 3.51629061355598715 \cdot 10^{106}:\\ \;\;\;\;\left(\sqrt{x} \cdot 2\right) \cdot \cos \left(y - \frac{t}{3} \cdot z\right) - \frac{\frac{a}{3}}{b}\\ \mathbf{else}:\\ \;\;\;\;\cos \left(y - \frac{\frac{0.333333333333333315}{z}}{t}\right) \cdot \left(2 \cdot \sqrt{x}\right) - \frac{\frac{a}{b}}{3}\\ \end{array}\]

Derivation

  1. Split input into 2 regimes
  2. if (cos (- y (/ (* z t) 3.0))) < 0.9999915532121507

    1. Initial program 20.5

      \[\left(2 \cdot \sqrt{x}\right) \cdot \cos \left(y - \frac{z \cdot t}{3}\right) - \frac{a}{b \cdot 3}\]
    2. Using strategy rm
    3. Applied cos-diff19.9

      \[\leadsto \left(2 \cdot \sqrt{x}\right) \cdot \color{blue}{\left(\cos y \cdot \cos \left(\frac{z \cdot t}{3}\right) + \sin y \cdot \sin \left(\frac{z \cdot t}{3}\right)\right)} - \frac{a}{b \cdot 3}\]
    4. Applied distribute-lft-in19.9

      \[\leadsto \color{blue}{\left(\left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \cos \left(\frac{z \cdot t}{3}\right)\right) + \left(2 \cdot \sqrt{x}\right) \cdot \left(\sin y \cdot \sin \left(\frac{z \cdot t}{3}\right)\right)\right)} - \frac{a}{b \cdot 3}\]
    5. Taylor expanded around inf 19.9

      \[\leadsto \left(\left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \cos \left(\frac{z \cdot t}{3}\right)\right) + \left(2 \cdot \sqrt{x}\right) \cdot \left(\sin y \cdot \color{blue}{\sin \left(0.333333333333333315 \cdot \left(t \cdot z\right)\right)}\right)\right) - \frac{a}{b \cdot 3}\]
    6. Taylor expanded around inf 19.9

      \[\leadsto \left(\left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \color{blue}{\cos \left(0.333333333333333315 \cdot \left(t \cdot z\right)\right)}\right) + \left(2 \cdot \sqrt{x}\right) \cdot \left(\sin y \cdot \sin \left(0.333333333333333315 \cdot \left(t \cdot z\right)\right)\right)\right) - \frac{a}{b \cdot 3}\]
    7. Taylor expanded around 0 20.6

      \[\leadsto \left(\left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \cos \left(0.333333333333333315 \cdot \left(t \cdot z\right)\right)\right) + \color{blue}{0}\right) - \frac{a}{b \cdot 3}\]

    if 0.9999915532121507 < (cos (- y (/ (* z t) 3.0)))

    1. Initial program 21.2

      \[\left(2 \cdot \sqrt{x}\right) \cdot \cos \left(y - \frac{z \cdot t}{3}\right) - \frac{a}{b \cdot 3}\]
    2. Taylor expanded around 0 14.8

      \[\leadsto \left(2 \cdot \sqrt{x}\right) \cdot \color{blue}{\left(1 - \frac{1}{2} \cdot {y}^{2}\right)} - \frac{a}{b \cdot 3}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification18.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;\cos \left(y - \frac{z \cdot t}{3}\right) \le 0.999991553212150719:\\ \;\;\;\;\left(\left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \cos \left(0.333333333333333315 \cdot \left(t \cdot z\right)\right)\right) + 0\right) - \frac{a}{b \cdot 3}\\ \mathbf{else}:\\ \;\;\;\;\left(2 \cdot \sqrt{x}\right) \cdot \left(1 - \frac{1}{2} \cdot {y}^{2}\right) - \frac{a}{b \cdot 3}\\ \end{array}\]

Reproduce

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

  :herbie-target
  (if (< z -1.379333748723514e+129) (- (* (* 2 (sqrt x)) (cos (- (/ 1 y) (/ (/ 0.3333333333333333 z) t)))) (/ (/ a 3) b)) (if (< z 3.516290613555987e+106) (- (* (* (sqrt x) 2) (cos (- y (* (/ t 3) z)))) (/ (/ a 3) b)) (- (* (cos (- y (/ (/ 0.3333333333333333 z) t))) (* 2 (sqrt x))) (/ (/ a b) 3))))

  (- (* (* 2 (sqrt x)) (cos (- y (/ (* z t) 3)))) (/ a (* b 3))))