Average Error: 20.5 → 17.7
Time: 11.9s
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.99999996888221743:\\ \;\;\;\;\left(\left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \sqrt[3]{{\left(\cos \left(0.333333333333333315 \cdot \left(t \cdot z\right)\right)\right)}^{3}}\right) + \left(2 \cdot \sqrt{x}\right) \cdot \left(\sin y \cdot \sin \left(\frac{z \cdot t}{3}\right)\right)\right) - \frac{\frac{a}{b}}{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.99999996888221743:\\
\;\;\;\;\left(\left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \sqrt[3]{{\left(\cos \left(0.333333333333333315 \cdot \left(t \cdot z\right)\right)\right)}^{3}}\right) + \left(2 \cdot \sqrt{x}\right) \cdot \left(\sin y \cdot \sin \left(\frac{z \cdot t}{3}\right)\right)\right) - \frac{\frac{a}{b}}{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 r2208215 = 2.0;
        double r2208216 = x;
        double r2208217 = sqrt(r2208216);
        double r2208218 = r2208215 * r2208217;
        double r2208219 = y;
        double r2208220 = z;
        double r2208221 = t;
        double r2208222 = r2208220 * r2208221;
        double r2208223 = 3.0;
        double r2208224 = r2208222 / r2208223;
        double r2208225 = r2208219 - r2208224;
        double r2208226 = cos(r2208225);
        double r2208227 = r2208218 * r2208226;
        double r2208228 = a;
        double r2208229 = b;
        double r2208230 = r2208229 * r2208223;
        double r2208231 = r2208228 / r2208230;
        double r2208232 = r2208227 - r2208231;
        return r2208232;
}

double f(double x, double y, double z, double t, double a, double b) {
        double r2208233 = y;
        double r2208234 = z;
        double r2208235 = t;
        double r2208236 = r2208234 * r2208235;
        double r2208237 = 3.0;
        double r2208238 = r2208236 / r2208237;
        double r2208239 = r2208233 - r2208238;
        double r2208240 = cos(r2208239);
        double r2208241 = 0.9999999688822174;
        bool r2208242 = r2208240 <= r2208241;
        double r2208243 = 2.0;
        double r2208244 = x;
        double r2208245 = sqrt(r2208244);
        double r2208246 = r2208243 * r2208245;
        double r2208247 = cos(r2208233);
        double r2208248 = 0.3333333333333333;
        double r2208249 = r2208235 * r2208234;
        double r2208250 = r2208248 * r2208249;
        double r2208251 = cos(r2208250);
        double r2208252 = 3.0;
        double r2208253 = pow(r2208251, r2208252);
        double r2208254 = cbrt(r2208253);
        double r2208255 = r2208247 * r2208254;
        double r2208256 = r2208246 * r2208255;
        double r2208257 = sin(r2208233);
        double r2208258 = sin(r2208238);
        double r2208259 = r2208257 * r2208258;
        double r2208260 = r2208246 * r2208259;
        double r2208261 = r2208256 + r2208260;
        double r2208262 = a;
        double r2208263 = b;
        double r2208264 = r2208262 / r2208263;
        double r2208265 = r2208264 / r2208237;
        double r2208266 = r2208261 - r2208265;
        double r2208267 = 1.0;
        double r2208268 = 0.5;
        double r2208269 = 2.0;
        double r2208270 = pow(r2208233, r2208269);
        double r2208271 = r2208268 * r2208270;
        double r2208272 = r2208267 - r2208271;
        double r2208273 = r2208246 * r2208272;
        double r2208274 = r2208263 * r2208237;
        double r2208275 = r2208262 / r2208274;
        double r2208276 = r2208273 - r2208275;
        double r2208277 = r2208242 ? r2208266 : r2208276;
        return r2208277;
}

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.5
Target18.4
Herbie17.7
\[\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.9999999688822174

    1. Initial program 19.4

      \[\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-diff18.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-in18.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 18.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(\frac{z \cdot t}{3}\right)\right)\right) - \frac{a}{b \cdot 3}\]
    6. Using strategy rm
    7. Applied add-cbrt-cube18.9

      \[\leadsto \left(\left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \color{blue}{\sqrt[3]{\left(\cos \left(0.333333333333333315 \cdot \left(t \cdot z\right)\right) \cdot \cos \left(0.333333333333333315 \cdot \left(t \cdot z\right)\right)\right) \cdot \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(\frac{z \cdot t}{3}\right)\right)\right) - \frac{a}{b \cdot 3}\]
    8. Simplified18.9

      \[\leadsto \left(\left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \sqrt[3]{\color{blue}{{\left(\cos \left(0.333333333333333315 \cdot \left(t \cdot z\right)\right)\right)}^{3}}}\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}\]
    9. Using strategy rm
    10. Applied associate-/r*18.9

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

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

    1. Initial program 22.4

      \[\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 15.7

      \[\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 simplification17.7

    \[\leadsto \begin{array}{l} \mathbf{if}\;\cos \left(y - \frac{z \cdot t}{3}\right) \le 0.99999996888221743:\\ \;\;\;\;\left(\left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \sqrt[3]{{\left(\cos \left(0.333333333333333315 \cdot \left(t \cdot z\right)\right)\right)}^{3}}\right) + \left(2 \cdot \sqrt{x}\right) \cdot \left(\sin y \cdot \sin \left(\frac{z \cdot t}{3}\right)\right)\right) - \frac{\frac{a}{b}}{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 2020018 +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))))