Average Error: 4.6 → 2.4
Time: 20.6s
Precision: 64
\[x + \left(y \cdot z\right) \cdot \left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)\]
\[x + \left(\sqrt[3]{y \cdot \left(z \cdot \left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)\right)} \cdot \sqrt[3]{y \cdot \left(z \cdot \left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)\right)}\right) \cdot \left(\sqrt[3]{y} \cdot \sqrt[3]{z \cdot \left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)}\right)\]
x + \left(y \cdot z\right) \cdot \left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)
x + \left(\sqrt[3]{y \cdot \left(z \cdot \left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)\right)} \cdot \sqrt[3]{y \cdot \left(z \cdot \left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)\right)}\right) \cdot \left(\sqrt[3]{y} \cdot \sqrt[3]{z \cdot \left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)}\right)
double f(double x, double y, double z, double t) {
        double r197834 = x;
        double r197835 = y;
        double r197836 = z;
        double r197837 = r197835 * r197836;
        double r197838 = t;
        double r197839 = r197838 / r197835;
        double r197840 = tanh(r197839);
        double r197841 = r197834 / r197835;
        double r197842 = tanh(r197841);
        double r197843 = r197840 - r197842;
        double r197844 = r197837 * r197843;
        double r197845 = r197834 + r197844;
        return r197845;
}

double f(double x, double y, double z, double t) {
        double r197846 = x;
        double r197847 = y;
        double r197848 = z;
        double r197849 = t;
        double r197850 = r197849 / r197847;
        double r197851 = tanh(r197850);
        double r197852 = r197846 / r197847;
        double r197853 = tanh(r197852);
        double r197854 = r197851 - r197853;
        double r197855 = r197848 * r197854;
        double r197856 = r197847 * r197855;
        double r197857 = cbrt(r197856);
        double r197858 = r197857 * r197857;
        double r197859 = cbrt(r197847);
        double r197860 = cbrt(r197855);
        double r197861 = r197859 * r197860;
        double r197862 = r197858 * r197861;
        double r197863 = r197846 + r197862;
        return r197863;
}

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

Original4.6
Target2.1
Herbie2.4
\[x + y \cdot \left(z \cdot \left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)\right)\]

Derivation

  1. Initial program 4.6

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

    \[\leadsto x + \color{blue}{y \cdot \left(z \cdot \left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)\right)}\]
  4. Using strategy rm
  5. Applied add-cube-cbrt2.5

    \[\leadsto x + \color{blue}{\left(\sqrt[3]{y \cdot \left(z \cdot \left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)\right)} \cdot \sqrt[3]{y \cdot \left(z \cdot \left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)\right)}\right) \cdot \sqrt[3]{y \cdot \left(z \cdot \left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)\right)}}\]
  6. Using strategy rm
  7. Applied cbrt-prod2.4

    \[\leadsto x + \left(\sqrt[3]{y \cdot \left(z \cdot \left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)\right)} \cdot \sqrt[3]{y \cdot \left(z \cdot \left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)\right)}\right) \cdot \color{blue}{\left(\sqrt[3]{y} \cdot \sqrt[3]{z \cdot \left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)}\right)}\]
  8. Final simplification2.4

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

Reproduce

herbie shell --seed 2019298 
(FPCore (x y z t)
  :name "SynthBasics:moogVCF from YampaSynth-0.2"
  :precision binary64

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

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