Average Error: 61.9 → 0
Time: 24.9s
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{-9}{2} + \left(6 \cdot \frac{\sqrt{3}}{-2} + \frac{\sqrt{3}}{2}\right) i\right) + \left(\frac{9}{2} + \left(\left(-\frac{\sqrt{3}}{-2}\right) + \sqrt{3} \cdot 2\right) 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{-9}{2} + \left(6 \cdot \frac{\sqrt{3}}{-2} + \frac{\sqrt{3}}{2}\right) i\right) + \left(\frac{9}{2} + \left(\left(-\frac{\sqrt{3}}{-2}\right) + \sqrt{3} \cdot 2\right) i\right)\right))
double f() {
        double r783706 = 1.0;
        double r783707 = -r783706;
        double r783708 = 2.0;
        double r783709 = r783707 / r783708;
        double r783710 = 3.0;
        double r783711 = sqrt(r783710);
        double r783712 = r783711 / r783708;
        double r783713 = /* ERROR: no complex support in C */;
        double r783714 = r783713 * r783713;
        double r783715 = r783714 * r783713;
        double r783716 = r783715 * r783713;
        double r783717 = -r783708;
        double r783718 = 0.0;
        double r783719 = /* ERROR: no complex support in C */;
        double r783720 = r783719 * r783713;
        double r783721 = r783720 * r783713;
        double r783722 = r783721 * r783713;
        double r783723 = r783716 + r783722;
        double r783724 = 5.0;
        double r783725 = /* ERROR: no complex support in C */;
        double r783726 = r783725 * r783713;
        double r783727 = r783726 * r783713;
        double r783728 = r783723 + r783727;
        double r783729 = 4.0;
        double r783730 = /* ERROR: no complex support in C */;
        double r783731 = r783730 * r783713;
        double r783732 = r783728 + r783731;
        double r783733 = 7.0;
        double r783734 = /* ERROR: no complex support in C */;
        double r783735 = r783732 + r783734;
        double r783736 = /* ERROR: no complex support in C */;
        return r783736;
}

double f() {
        double r783737 = -4.5;
        double r783738 = 6.0;
        double r783739 = 3.0;
        double r783740 = sqrt(r783739);
        double r783741 = -2.0;
        double r783742 = r783740 / r783741;
        double r783743 = r783738 * r783742;
        double r783744 = 2.0;
        double r783745 = r783740 / r783744;
        double r783746 = r783743 + r783745;
        double r783747 = /* ERROR: no complex support in C */;
        double r783748 = 4.5;
        double r783749 = -r783742;
        double r783750 = r783740 * r783744;
        double r783751 = r783749 + r783750;
        double r783752 = /* ERROR: no complex support in C */;
        double r783753 = r783747 + r783752;
        double r783754 = /* ERROR: no complex support in C */;
        return r783754;
}

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

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

Reproduce

herbie shell --seed 2019138 
(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))))