Average Error: 61.9 → 0
Time: 22.2s
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 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 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 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0 i\right)\right))\]
\[\Re(\left(\left(\frac{11}{2} + \left(\frac{\sqrt{3}}{-2} + \left(-\sqrt{3}\right)\right) i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{-2} i\right) + \left(5 + \sqrt{3} \cdot 2 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 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 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 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0 i\right)\right))
\Re(\left(\left(\frac{11}{2} + \left(\frac{\sqrt{3}}{-2} + \left(-\sqrt{3}\right)\right) i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{-2} i\right) + \left(5 + \sqrt{3} \cdot 2 i\right)\right))
double f() {
        double r1004957 = 1.0;
        double r1004958 = -r1004957;
        double r1004959 = 2.0;
        double r1004960 = r1004958 / r1004959;
        double r1004961 = 3.0;
        double r1004962 = sqrt(r1004961);
        double r1004963 = r1004962 / r1004959;
        double r1004964 = /* ERROR: no complex support in C */;
        double r1004965 = r1004964 * r1004964;
        double r1004966 = r1004965 * r1004964;
        double r1004967 = r1004966 * r1004964;
        double r1004968 = -r1004959;
        double r1004969 = 0.0;
        double r1004970 = /* ERROR: no complex support in C */;
        double r1004971 = r1004970 * r1004964;
        double r1004972 = r1004971 * r1004964;
        double r1004973 = r1004972 * r1004964;
        double r1004974 = r1004967 + r1004973;
        double r1004975 = 5.0;
        double r1004976 = /* ERROR: no complex support in C */;
        double r1004977 = r1004976 * r1004964;
        double r1004978 = r1004977 * r1004964;
        double r1004979 = r1004974 + r1004978;
        double r1004980 = 4.0;
        double r1004981 = /* ERROR: no complex support in C */;
        double r1004982 = r1004981 * r1004964;
        double r1004983 = r1004979 + r1004982;
        double r1004984 = 7.0;
        double r1004985 = /* ERROR: no complex support in C */;
        double r1004986 = r1004983 + r1004985;
        double r1004987 = /* ERROR: no complex support in C */;
        return r1004987;
}

double f() {
        double r1004988 = 5.5;
        double r1004989 = 3.0;
        double r1004990 = sqrt(r1004989);
        double r1004991 = -2.0;
        double r1004992 = r1004990 / r1004991;
        double r1004993 = -r1004990;
        double r1004994 = r1004992 + r1004993;
        double r1004995 = /* ERROR: no complex support in C */;
        double r1004996 = -0.5;
        double r1004997 = /* ERROR: no complex support in C */;
        double r1004998 = r1004995 * r1004997;
        double r1004999 = 5.0;
        double r1005000 = 2.0;
        double r1005001 = r1004990 * r1005000;
        double r1005002 = /* ERROR: no complex support in C */;
        double r1005003 = r1004998 + r1005002;
        double r1005004 = /* ERROR: no complex support in C */;
        return r1005004;
}

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 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 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 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0 i\right)\right))\]
  2. Simplified0

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

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

Reproduce

herbie shell --seed 2019144 +o rules:numerics
(FPCore ()
  :name "3.9.2 real part (p56)"
  (re (+.c (+.c (+.c (+.c (*.c (*.c (*.c (complex (/ (- 1) 2) (/ (sqrt 3) 2)) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (*.c (*.c (*.c (complex (- 2) 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (*.c (*.c (complex 5 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (*.c (complex 4 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (complex 7 0))))