Average Error: 4.6 → 1.6
Time: 17.1s
Precision: 64
\[x + \left(y \cdot z\right) \cdot \left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)\]
\[z \cdot \left(y \cdot \left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)\right) + x\]
x + \left(y \cdot z\right) \cdot \left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)
z \cdot \left(y \cdot \left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)\right) + x
double f(double x, double y, double z, double t) {
        double r235701 = x;
        double r235702 = y;
        double r235703 = z;
        double r235704 = r235702 * r235703;
        double r235705 = t;
        double r235706 = r235705 / r235702;
        double r235707 = tanh(r235706);
        double r235708 = r235701 / r235702;
        double r235709 = tanh(r235708);
        double r235710 = r235707 - r235709;
        double r235711 = r235704 * r235710;
        double r235712 = r235701 + r235711;
        return r235712;
}

double f(double x, double y, double z, double t) {
        double r235713 = z;
        double r235714 = y;
        double r235715 = t;
        double r235716 = r235715 / r235714;
        double r235717 = tanh(r235716);
        double r235718 = x;
        double r235719 = r235718 / r235714;
        double r235720 = tanh(r235719);
        double r235721 = r235717 - r235720;
        double r235722 = r235714 * r235721;
        double r235723 = r235713 * r235722;
        double r235724 = r235723 + r235718;
        return r235724;
}

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
Herbie1.6
\[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 pow14.6

    \[\leadsto x + \left(y \cdot z\right) \cdot \color{blue}{{\left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)}^{1}}\]
  4. Applied pow14.6

    \[\leadsto x + \left(y \cdot \color{blue}{{z}^{1}}\right) \cdot {\left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)}^{1}\]
  5. Applied pow14.6

    \[\leadsto x + \left(\color{blue}{{y}^{1}} \cdot {z}^{1}\right) \cdot {\left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)}^{1}\]
  6. Applied pow-prod-down4.6

    \[\leadsto x + \color{blue}{{\left(y \cdot z\right)}^{1}} \cdot {\left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)}^{1}\]
  7. Applied pow-prod-down4.6

    \[\leadsto x + \color{blue}{{\left(\left(y \cdot z\right) \cdot \left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)\right)}^{1}}\]
  8. Simplified2.1

    \[\leadsto x + {\color{blue}{\left(y \cdot \left(z \cdot \left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)\right)\right)}}^{1}\]
  9. Using strategy rm
  10. Applied pow12.1

    \[\leadsto x + {\left(y \cdot \left(z \cdot \color{blue}{{\left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)}^{1}}\right)\right)}^{1}\]
  11. Applied pow12.1

    \[\leadsto x + {\left(y \cdot \left(\color{blue}{{z}^{1}} \cdot {\left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)}^{1}\right)\right)}^{1}\]
  12. Applied pow-prod-down2.1

    \[\leadsto x + {\left(y \cdot \color{blue}{{\left(z \cdot \left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)\right)}^{1}}\right)}^{1}\]
  13. Applied pow12.1

    \[\leadsto x + {\left(\color{blue}{{y}^{1}} \cdot {\left(z \cdot \left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)\right)}^{1}\right)}^{1}\]
  14. Applied pow-prod-down2.1

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

    \[\leadsto x + {\left({\color{blue}{\left(\left(y \cdot \left(\tanh \left(\frac{t}{y}\right) - \tanh \left(\frac{x}{y}\right)\right)\right) \cdot z\right)}}^{1}\right)}^{1}\]
  16. Final simplification1.6

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

Reproduce

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

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

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