Average Error: 3.7 → 2.8
Time: 14.8s
Precision: 64
\[\left(a + \left(b + \left(c + d\right)\right)\right) \cdot 2\]
\[\left(\left(\sqrt[3]{\log \left(e^{\left(a + c\right) + \left(b + d\right)}\right)} \cdot \sqrt[3]{d + \left(\left(b + c\right) + a\right)}\right) \cdot \sqrt[3]{d + \left(\left(b + c\right) + a\right)}\right) \cdot 2\]
double f(double a, double b, double c, double d) {
        double r5121769 = a;
        double r5121770 = b;
        double r5121771 = c;
        double r5121772 = d;
        double r5121773 = r5121771 + r5121772;
        double r5121774 = r5121770 + r5121773;
        double r5121775 = r5121769 + r5121774;
        double r5121776 = 2.0;
        double r5121777 = r5121775 * r5121776;
        return r5121777;
}

double f(double a, double b, double c, double d) {
        double r5121778 = a;
        double r5121779 = c;
        double r5121780 = r5121778 + r5121779;
        double r5121781 = b;
        double r5121782 = d;
        double r5121783 = r5121781 + r5121782;
        double r5121784 = r5121780 + r5121783;
        double r5121785 = exp(r5121784);
        double r5121786 = log(r5121785);
        double r5121787 = cbrt(r5121786);
        double r5121788 = r5121781 + r5121779;
        double r5121789 = r5121788 + r5121778;
        double r5121790 = r5121782 + r5121789;
        double r5121791 = cbrt(r5121790);
        double r5121792 = r5121787 * r5121791;
        double r5121793 = r5121792 * r5121791;
        double r5121794 = 2.0;
        double r5121795 = r5121793 * r5121794;
        return r5121795;
}

\left(a + \left(b + \left(c + d\right)\right)\right) \cdot 2
\left(\left(\sqrt[3]{\log \left(e^{\left(a + c\right) + \left(b + d\right)}\right)} \cdot \sqrt[3]{d + \left(\left(b + c\right) + a\right)}\right) \cdot \sqrt[3]{d + \left(\left(b + c\right) + a\right)}\right) \cdot 2

Error

Bits error versus a

Bits error versus b

Bits error versus c

Bits error versus d

Target

Original3.7
Target3.9
Herbie2.8
\[\left(a + b\right) \cdot 2 + \left(c + d\right) \cdot 2\]

Derivation

  1. Initial program 3.7

    \[\left(a + \left(b + \left(c + d\right)\right)\right) \cdot 2\]
  2. Using strategy rm
  3. Applied associate-+r+2.8

    \[\leadsto \left(a + \color{blue}{\left(\left(b + c\right) + d\right)}\right) \cdot 2\]
  4. Using strategy rm
  5. Applied associate-+r+2.8

    \[\leadsto \color{blue}{\left(\left(a + \left(b + c\right)\right) + d\right)} \cdot 2\]
  6. Using strategy rm
  7. Applied add-cube-cbrt3.1

    \[\leadsto \color{blue}{\left(\left(\sqrt[3]{\left(a + \left(b + c\right)\right) + d} \cdot \sqrt[3]{\left(a + \left(b + c\right)\right) + d}\right) \cdot \sqrt[3]{\left(a + \left(b + c\right)\right) + d}\right)} \cdot 2\]
  8. Using strategy rm
  9. Applied add-log-exp3.1

    \[\leadsto \left(\left(\sqrt[3]{\left(a + \left(b + c\right)\right) + \color{blue}{\log \left(e^{d}\right)}} \cdot \sqrt[3]{\left(a + \left(b + c\right)\right) + d}\right) \cdot \sqrt[3]{\left(a + \left(b + c\right)\right) + d}\right) \cdot 2\]
  10. Applied add-log-exp3.1

    \[\leadsto \left(\left(\sqrt[3]{\left(a + \left(b + \color{blue}{\log \left(e^{c}\right)}\right)\right) + \log \left(e^{d}\right)} \cdot \sqrt[3]{\left(a + \left(b + c\right)\right) + d}\right) \cdot \sqrt[3]{\left(a + \left(b + c\right)\right) + d}\right) \cdot 2\]
  11. Applied add-log-exp3.1

    \[\leadsto \left(\left(\sqrt[3]{\left(a + \left(\color{blue}{\log \left(e^{b}\right)} + \log \left(e^{c}\right)\right)\right) + \log \left(e^{d}\right)} \cdot \sqrt[3]{\left(a + \left(b + c\right)\right) + d}\right) \cdot \sqrt[3]{\left(a + \left(b + c\right)\right) + d}\right) \cdot 2\]
  12. Applied sum-log3.0

    \[\leadsto \left(\left(\sqrt[3]{\left(a + \color{blue}{\log \left(e^{b} \cdot e^{c}\right)}\right) + \log \left(e^{d}\right)} \cdot \sqrt[3]{\left(a + \left(b + c\right)\right) + d}\right) \cdot \sqrt[3]{\left(a + \left(b + c\right)\right) + d}\right) \cdot 2\]
  13. Applied add-log-exp3.0

    \[\leadsto \left(\left(\sqrt[3]{\left(\color{blue}{\log \left(e^{a}\right)} + \log \left(e^{b} \cdot e^{c}\right)\right) + \log \left(e^{d}\right)} \cdot \sqrt[3]{\left(a + \left(b + c\right)\right) + d}\right) \cdot \sqrt[3]{\left(a + \left(b + c\right)\right) + d}\right) \cdot 2\]
  14. Applied sum-log2.9

    \[\leadsto \left(\left(\sqrt[3]{\color{blue}{\log \left(e^{a} \cdot \left(e^{b} \cdot e^{c}\right)\right)} + \log \left(e^{d}\right)} \cdot \sqrt[3]{\left(a + \left(b + c\right)\right) + d}\right) \cdot \sqrt[3]{\left(a + \left(b + c\right)\right) + d}\right) \cdot 2\]
  15. Applied sum-log2.7

    \[\leadsto \left(\left(\sqrt[3]{\color{blue}{\log \left(\left(e^{a} \cdot \left(e^{b} \cdot e^{c}\right)\right) \cdot e^{d}\right)}} \cdot \sqrt[3]{\left(a + \left(b + c\right)\right) + d}\right) \cdot \sqrt[3]{\left(a + \left(b + c\right)\right) + d}\right) \cdot 2\]
  16. Simplified2.8

    \[\leadsto \left(\left(\sqrt[3]{\log \color{blue}{\left(e^{\left(d + b\right) + \left(a + c\right)}\right)}} \cdot \sqrt[3]{\left(a + \left(b + c\right)\right) + d}\right) \cdot \sqrt[3]{\left(a + \left(b + c\right)\right) + d}\right) \cdot 2\]
  17. Final simplification2.8

    \[\leadsto \left(\left(\sqrt[3]{\log \left(e^{\left(a + c\right) + \left(b + d\right)}\right)} \cdot \sqrt[3]{d + \left(\left(b + c\right) + a\right)}\right) \cdot \sqrt[3]{d + \left(\left(b + c\right) + a\right)}\right) \cdot 2\]

Reproduce

herbie shell --seed 2019102 +o rules:numerics
(FPCore (a b c d)
  :name "Expression, p6"
  :pre (and (<= -14 a -13) (<= -3 b -2) (<= 3 c 3.5) (<= 12.5 d 13.5))

  :herbie-target
  (+ (* (+ a b) 2) (* (+ c d) 2))

  (* (+ a (+ b (+ c d))) 2))