Average Error: 61.9 → 0
Time: 5.8s
Precision: 64
\[\Re(\left(\left(\left(\left(\left(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(\left(\left(\left(\left(-2\right) + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(\left(5 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(4 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0.0 i\right)\right))\]
\[\Re(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(5 + 0.0 i\right) + \left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\frac{-1}{2} - 2\right) + \left(\frac{\sqrt{3}}{2} + 0.0\right) i\right)\right)\right)\right) + \left(4 + 0.0 i\right)\right)\right) + \left(7 + 0.0 i\right)\right))\]
\Re(\left(\left(\left(\left(\left(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(\left(\left(\left(\left(-2\right) + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(\left(5 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(4 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0.0 i\right)\right))
\Re(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(5 + 0.0 i\right) + \left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\frac{-1}{2} - 2\right) + \left(\frac{\sqrt{3}}{2} + 0.0\right) i\right)\right)\right)\right) + \left(4 + 0.0 i\right)\right)\right) + \left(7 + 0.0 i\right)\right))
double f() {
        double r37817 = 1.0;
        double r37818 = -r37817;
        double r37819 = 2.0;
        double r37820 = r37818 / r37819;
        double r37821 = 3.0;
        double r37822 = sqrt(r37821);
        double r37823 = r37822 / r37819;
        double r37824 = /* ERROR: no complex support in C */;
        double r37825 = r37824 * r37824;
        double r37826 = r37825 * r37824;
        double r37827 = r37826 * r37824;
        double r37828 = -r37819;
        double r37829 = 0.0;
        double r37830 = /* ERROR: no complex support in C */;
        double r37831 = r37830 * r37824;
        double r37832 = r37831 * r37824;
        double r37833 = r37832 * r37824;
        double r37834 = r37827 + r37833;
        double r37835 = 5.0;
        double r37836 = /* ERROR: no complex support in C */;
        double r37837 = r37836 * r37824;
        double r37838 = r37837 * r37824;
        double r37839 = r37834 + r37838;
        double r37840 = 4.0;
        double r37841 = /* ERROR: no complex support in C */;
        double r37842 = r37841 * r37824;
        double r37843 = r37839 + r37842;
        double r37844 = 7.0;
        double r37845 = /* ERROR: no complex support in C */;
        double r37846 = r37843 + r37845;
        double r37847 = /* ERROR: no complex support in C */;
        return r37847;
}

double f() {
        double r37848 = 1.0;
        double r37849 = -r37848;
        double r37850 = 2.0;
        double r37851 = r37849 / r37850;
        double r37852 = 3.0;
        double r37853 = sqrt(r37852);
        double r37854 = r37853 / r37850;
        double r37855 = /* ERROR: no complex support in C */;
        double r37856 = 5.0;
        double r37857 = 0.0;
        double r37858 = /* ERROR: no complex support in C */;
        double r37859 = r37851 - r37850;
        double r37860 = r37854 + r37857;
        double r37861 = /* ERROR: no complex support in C */;
        double r37862 = r37855 * r37861;
        double r37863 = r37858 + r37862;
        double r37864 = r37855 * r37863;
        double r37865 = 4.0;
        double r37866 = /* ERROR: no complex support in C */;
        double r37867 = r37864 + r37866;
        double r37868 = r37855 * r37867;
        double r37869 = 7.0;
        double r37870 = /* ERROR: no complex support in C */;
        double r37871 = r37868 + r37870;
        double r37872 = /* ERROR: no complex support in C */;
        return r37872;
}

Error

Derivation

  1. Initial program 61.9

    \[\Re(\left(\left(\left(\left(\left(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(\left(\left(\left(\left(-2\right) + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(\left(5 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(4 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0.0 i\right)\right))\]
  2. Simplified0

    \[\leadsto \color{blue}{\Re(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(5 + 0.0 i\right) + \left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\frac{-1}{2} - 2\right) + \left(\frac{\sqrt{3}}{2} + 0.0\right) i\right)\right)\right)\right) + \left(4 + 0.0 i\right)\right)\right) + \left(7 + 0.0 i\right)\right))}\]
  3. Final simplification0

    \[\leadsto \Re(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(5 + 0.0 i\right) + \left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\frac{-1}{2} - 2\right) + \left(\frac{\sqrt{3}}{2} + 0.0\right) i\right)\right)\right)\right) + \left(4 + 0.0 i\right)\right)\right) + \left(7 + 0.0 i\right)\right))\]

Reproduce

herbie shell --seed 2020042 +o rules:numerics
(FPCore ()
  :name "3.9.2 real part (p56)"
  :precision binary64
  (re (+ (+ (+ (+ (* (* (* (complex (/ (- 1) 2) (/ (sqrt 3) 2)) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (* (* (* (complex (- 2) 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (* (* (complex 5 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (* (complex 4 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (complex 7 0.0))))