Average Error: 61.9 → 0
Time: 22.8s
Precision: 64
\[\Re(\left(\left(\left(\left(\left(\left(\left(\left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right) + \left(\left(\left(\left(\left(-2.0\right) + 0.0 i\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right)\right) + \left(\left(\left(5.0 + 0.0 i\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right)\right) + \left(\left(4.0 + 0.0 i\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right)\right) + \left(7.0 + 0.0 i\right)\right))\]
\[\Re(\left(\left(7.0 + 0.0 i\right) + \left(\left(\left(\left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right) \cdot \left(\left(5.0 + 0.0 i\right) + \left(\left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right) \cdot \left(\left(-\left(2.0 + \frac{1.0}{2.0}\right)\right) + \left(\frac{\sqrt{3.0}}{2.0} + 0.0\right) i\right)\right)\right)\right) + \left(4.0 + 0.0 i\right)\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right)\right))\]
\Re(\left(\left(\left(\left(\left(\left(\left(\left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right) + \left(\left(\left(\left(\left(-2.0\right) + 0.0 i\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right)\right) + \left(\left(\left(5.0 + 0.0 i\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right)\right) + \left(\left(4.0 + 0.0 i\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right)\right) + \left(7.0 + 0.0 i\right)\right))
\Re(\left(\left(7.0 + 0.0 i\right) + \left(\left(\left(\left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right) \cdot \left(\left(5.0 + 0.0 i\right) + \left(\left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right) \cdot \left(\left(-\left(2.0 + \frac{1.0}{2.0}\right)\right) + \left(\frac{\sqrt{3.0}}{2.0} + 0.0\right) i\right)\right)\right)\right) + \left(4.0 + 0.0 i\right)\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right)\right))
double f() {
        double r2331511 = 1.0;
        double r2331512 = -r2331511;
        double r2331513 = 2.0;
        double r2331514 = r2331512 / r2331513;
        double r2331515 = 3.0;
        double r2331516 = sqrt(r2331515);
        double r2331517 = r2331516 / r2331513;
        double r2331518 = /* ERROR: no complex support in C */;
        double r2331519 = r2331518 * r2331518;
        double r2331520 = r2331519 * r2331518;
        double r2331521 = r2331520 * r2331518;
        double r2331522 = -r2331513;
        double r2331523 = 0.0;
        double r2331524 = /* ERROR: no complex support in C */;
        double r2331525 = r2331524 * r2331518;
        double r2331526 = r2331525 * r2331518;
        double r2331527 = r2331526 * r2331518;
        double r2331528 = r2331521 + r2331527;
        double r2331529 = 5.0;
        double r2331530 = /* ERROR: no complex support in C */;
        double r2331531 = r2331530 * r2331518;
        double r2331532 = r2331531 * r2331518;
        double r2331533 = r2331528 + r2331532;
        double r2331534 = 4.0;
        double r2331535 = /* ERROR: no complex support in C */;
        double r2331536 = r2331535 * r2331518;
        double r2331537 = r2331533 + r2331536;
        double r2331538 = 7.0;
        double r2331539 = /* ERROR: no complex support in C */;
        double r2331540 = r2331537 + r2331539;
        double r2331541 = /* ERROR: no complex support in C */;
        return r2331541;
}

double f() {
        double r2331542 = 7.0;
        double r2331543 = 0.0;
        double r2331544 = /* ERROR: no complex support in C */;
        double r2331545 = 1.0;
        double r2331546 = -r2331545;
        double r2331547 = 2.0;
        double r2331548 = r2331546 / r2331547;
        double r2331549 = 3.0;
        double r2331550 = sqrt(r2331549);
        double r2331551 = r2331550 / r2331547;
        double r2331552 = /* ERROR: no complex support in C */;
        double r2331553 = 5.0;
        double r2331554 = /* ERROR: no complex support in C */;
        double r2331555 = r2331545 / r2331547;
        double r2331556 = r2331547 + r2331555;
        double r2331557 = -r2331556;
        double r2331558 = r2331551 + r2331543;
        double r2331559 = /* ERROR: no complex support in C */;
        double r2331560 = r2331552 * r2331559;
        double r2331561 = r2331554 + r2331560;
        double r2331562 = r2331552 * r2331561;
        double r2331563 = 4.0;
        double r2331564 = /* ERROR: no complex support in C */;
        double r2331565 = r2331562 + r2331564;
        double r2331566 = r2331565 * r2331552;
        double r2331567 = r2331544 + r2331566;
        double r2331568 = /* ERROR: no complex support in C */;
        return r2331568;
}

Error

Derivation

  1. Initial program 61.9

    \[\Re(\left(\left(\left(\left(\left(\left(\left(\left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right) + \left(\left(\left(\left(\left(-2.0\right) + 0.0 i\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right)\right) + \left(\left(\left(5.0 + 0.0 i\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right)\right) + \left(\left(4.0 + 0.0 i\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right)\right) + \left(7.0 + 0.0 i\right)\right))\]
  2. Simplified0

    \[\leadsto \color{blue}{\Re(\left(\left(\left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right) \cdot \left(\left(\left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right) \cdot \left(\left(5.0 + 0.0 i\right) + \left(\left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right) \cdot \left(\left(\left(-2.0\right) + \frac{-1.0}{2.0}\right) + \left(0.0 + \frac{\sqrt{3.0}}{2.0}\right) i\right)\right)\right)\right) + \left(4.0 + 0.0 i\right)\right)\right) + \left(7.0 + 0.0 i\right)\right))}\]
  3. Final simplification0

    \[\leadsto \Re(\left(\left(7.0 + 0.0 i\right) + \left(\left(\left(\left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right) \cdot \left(\left(5.0 + 0.0 i\right) + \left(\left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right) \cdot \left(\left(-\left(2.0 + \frac{1.0}{2.0}\right)\right) + \left(\frac{\sqrt{3.0}}{2.0} + 0.0\right) i\right)\right)\right)\right) + \left(4.0 + 0.0 i\right)\right) \cdot \left(\frac{-1.0}{2.0} + \frac{\sqrt{3.0}}{2.0} i\right)\right)\right))\]

Reproduce

herbie shell --seed 2019165 +o rules:numerics
(FPCore ()
  :name "3.9.2 real part (p56)"
  (re (+.c (+.c (+.c (+.c (*.c (*.c (*.c (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (*.c (*.c (*.c (complex (- 2.0) 0.0) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)))) (*.c (*.c (complex 5.0 0.0) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)))) (*.c (complex 4.0 0.0) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)))) (complex 7.0 0.0))))