Average Error: 61.9 → 0
Time: 17.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{-1}{2} + \frac{-\sqrt{3}}{2} i\right) \cdot \left(\left(\frac{-1}{2} + \frac{-\sqrt{3}}{2} i\right) + \left(6 + \frac{\sqrt{3}}{-1} i\right)\right) + \left(5 + \frac{\sqrt{3}}{\frac{1}{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{-1}{2} + \frac{-\sqrt{3}}{2} i\right) \cdot \left(\left(\frac{-1}{2} + \frac{-\sqrt{3}}{2} i\right) + \left(6 + \frac{\sqrt{3}}{-1} i\right)\right) + \left(5 + \frac{\sqrt{3}}{\frac{1}{2}} i\right)\right))
double f() {
        double r1141024 = 1.0;
        double r1141025 = -r1141024;
        double r1141026 = 2.0;
        double r1141027 = r1141025 / r1141026;
        double r1141028 = 3.0;
        double r1141029 = sqrt(r1141028);
        double r1141030 = r1141029 / r1141026;
        double r1141031 = /* ERROR: no complex support in C */;
        double r1141032 = r1141031 * r1141031;
        double r1141033 = r1141032 * r1141031;
        double r1141034 = r1141033 * r1141031;
        double r1141035 = -r1141026;
        double r1141036 = 0.0;
        double r1141037 = /* ERROR: no complex support in C */;
        double r1141038 = r1141037 * r1141031;
        double r1141039 = r1141038 * r1141031;
        double r1141040 = r1141039 * r1141031;
        double r1141041 = r1141034 + r1141040;
        double r1141042 = 5.0;
        double r1141043 = /* ERROR: no complex support in C */;
        double r1141044 = r1141043 * r1141031;
        double r1141045 = r1141044 * r1141031;
        double r1141046 = r1141041 + r1141045;
        double r1141047 = 4.0;
        double r1141048 = /* ERROR: no complex support in C */;
        double r1141049 = r1141048 * r1141031;
        double r1141050 = r1141046 + r1141049;
        double r1141051 = 7.0;
        double r1141052 = /* ERROR: no complex support in C */;
        double r1141053 = r1141050 + r1141052;
        double r1141054 = /* ERROR: no complex support in C */;
        return r1141054;
}

double f() {
        double r1141055 = -0.5;
        double r1141056 = 3.0;
        double r1141057 = sqrt(r1141056);
        double r1141058 = -r1141057;
        double r1141059 = 2.0;
        double r1141060 = r1141058 / r1141059;
        double r1141061 = /* ERROR: no complex support in C */;
        double r1141062 = 6.0;
        double r1141063 = -1.0;
        double r1141064 = r1141057 / r1141063;
        double r1141065 = /* ERROR: no complex support in C */;
        double r1141066 = r1141061 + r1141065;
        double r1141067 = r1141061 * r1141066;
        double r1141068 = 5.0;
        double r1141069 = 0.5;
        double r1141070 = r1141057 / r1141069;
        double r1141071 = /* ERROR: no complex support in C */;
        double r1141072 = r1141067 + r1141071;
        double r1141073 = /* ERROR: no complex support in C */;
        return r1141073;
}

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

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

Reproduce

herbie shell --seed 2019163 +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))))