Average Error: 20.8 → 17.2
Time: 26.0s
Precision: 64
\[\left(2 \cdot \sqrt{x}\right) \cdot \cos \left(y - \frac{z \cdot t}{3}\right) - \frac{a}{b \cdot 3}\]
\[\cos y \cdot \left(2 \cdot \sqrt{x}\right) - \frac{\frac{a}{b}}{3}\]
\left(2 \cdot \sqrt{x}\right) \cdot \cos \left(y - \frac{z \cdot t}{3}\right) - \frac{a}{b \cdot 3}
\cos y \cdot \left(2 \cdot \sqrt{x}\right) - \frac{\frac{a}{b}}{3}
double f(double x, double y, double z, double t, double a, double b) {
        double r45767678 = 2.0;
        double r45767679 = x;
        double r45767680 = sqrt(r45767679);
        double r45767681 = r45767678 * r45767680;
        double r45767682 = y;
        double r45767683 = z;
        double r45767684 = t;
        double r45767685 = r45767683 * r45767684;
        double r45767686 = 3.0;
        double r45767687 = r45767685 / r45767686;
        double r45767688 = r45767682 - r45767687;
        double r45767689 = cos(r45767688);
        double r45767690 = r45767681 * r45767689;
        double r45767691 = a;
        double r45767692 = b;
        double r45767693 = r45767692 * r45767686;
        double r45767694 = r45767691 / r45767693;
        double r45767695 = r45767690 - r45767694;
        return r45767695;
}

double f(double x, double y, double __attribute__((unused)) z, double __attribute__((unused)) t, double a, double b) {
        double r45767696 = y;
        double r45767697 = cos(r45767696);
        double r45767698 = 2.0;
        double r45767699 = x;
        double r45767700 = sqrt(r45767699);
        double r45767701 = r45767698 * r45767700;
        double r45767702 = r45767697 * r45767701;
        double r45767703 = a;
        double r45767704 = b;
        double r45767705 = r45767703 / r45767704;
        double r45767706 = 3.0;
        double r45767707 = r45767705 / r45767706;
        double r45767708 = r45767702 - r45767707;
        return r45767708;
}

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.7
Herbie17.2
\[\begin{array}{l} \mathbf{if}\;z \lt -1.379333748723514136852843173740882251575 \cdot 10^{129}:\\ \;\;\;\;\left(2 \cdot \sqrt{x}\right) \cdot \cos \left(\frac{1}{y} - \frac{\frac{0.3333333333333333148296162562473909929395}{z}}{t}\right) - \frac{\frac{a}{3}}{b}\\ \mathbf{elif}\;z \lt 3.516290613555987147199887107423758623887 \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.3333333333333333148296162562473909929395}{z}}{t}\right) \cdot \left(2 \cdot \sqrt{x}\right) - \frac{\frac{a}{b}}{3}\\ \end{array}\]

Derivation

  1. Initial program 20.8

    \[\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 associate-/r*20.8

    \[\leadsto \left(2 \cdot \sqrt{x}\right) \cdot \cos \left(y - \frac{z \cdot t}{3}\right) - \color{blue}{\frac{\frac{a}{b}}{3}}\]
  4. Using strategy rm
  5. Applied cos-diff20.5

    \[\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{\frac{a}{b}}{3}\]
  6. Applied distribute-rgt-in20.5

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

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

    \[\leadsto \left(\left(\cos y \cdot 1\right) \cdot \left(2 \cdot \sqrt{x}\right) + \color{blue}{0}\right) - \frac{\frac{a}{b}}{3}\]
  9. Final simplification17.2

    \[\leadsto \cos y \cdot \left(2 \cdot \sqrt{x}\right) - \frac{\frac{a}{b}}{3}\]

Reproduce

herbie shell --seed 2019174 
(FPCore (x y z t a b)
  :name "Diagrams.Solve.Polynomial:cubForm  from diagrams-solve-0.1, K"

  :herbie-target
  (if (< z -1.3793337487235141e+129) (- (* (* 2.0 (sqrt x)) (cos (- (/ 1.0 y) (/ (/ 0.3333333333333333 z) t)))) (/ (/ a 3.0) b)) (if (< z 3.516290613555987e+106) (- (* (* (sqrt x) 2.0) (cos (- y (* (/ t 3.0) z)))) (/ (/ a 3.0) b)) (- (* (cos (- y (/ (/ 0.3333333333333333 z) t))) (* 2.0 (sqrt x))) (/ (/ a b) 3.0))))

  (- (* (* 2.0 (sqrt x)) (cos (- y (/ (* z t) 3.0)))) (/ a (* b 3.0))))