Average Error: 0 → 0
Time: 28.8s
Precision: 64
\[\Im(\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))\]
\[\Im(\left(\left(-5 + \left(\left(\frac{-\sqrt{3}}{-4} + \frac{-\sqrt{3}}{-4}\right) + \left(\left(\frac{\sqrt{3}}{-4} + \frac{\sqrt{3}}{-4}\right) + \left(10 \cdot \frac{\sqrt{3}}{-4} + \frac{\sqrt{3}}{2}\right)\right)\right) i\right) + \left(5 + \sqrt{3} \cdot 2 i\right)\right))\]
\Im(\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))
\Im(\left(\left(-5 + \left(\left(\frac{-\sqrt{3}}{-4} + \frac{-\sqrt{3}}{-4}\right) + \left(\left(\frac{\sqrt{3}}{-4} + \frac{\sqrt{3}}{-4}\right) + \left(10 \cdot \frac{\sqrt{3}}{-4} + \frac{\sqrt{3}}{2}\right)\right)\right) i\right) + \left(5 + \sqrt{3} \cdot 2 i\right)\right))
double f() {
        double r705720 = 1.0;
        double r705721 = -r705720;
        double r705722 = 2.0;
        double r705723 = r705721 / r705722;
        double r705724 = 3.0;
        double r705725 = sqrt(r705724);
        double r705726 = r705725 / r705722;
        double r705727 = /* ERROR: no complex support in C */;
        double r705728 = r705727 * r705727;
        double r705729 = r705728 * r705727;
        double r705730 = r705729 * r705727;
        double r705731 = -r705722;
        double r705732 = 0.0;
        double r705733 = /* ERROR: no complex support in C */;
        double r705734 = r705733 * r705727;
        double r705735 = r705734 * r705727;
        double r705736 = r705735 * r705727;
        double r705737 = r705730 + r705736;
        double r705738 = 5.0;
        double r705739 = /* ERROR: no complex support in C */;
        double r705740 = r705739 * r705727;
        double r705741 = r705740 * r705727;
        double r705742 = r705737 + r705741;
        double r705743 = 4.0;
        double r705744 = /* ERROR: no complex support in C */;
        double r705745 = r705744 * r705727;
        double r705746 = r705742 + r705745;
        double r705747 = 7.0;
        double r705748 = /* ERROR: no complex support in C */;
        double r705749 = r705746 + r705748;
        double r705750 = /* ERROR: no complex support in C */;
        return r705750;
}

double f() {
        double r705751 = -5.0;
        double r705752 = 3.0;
        double r705753 = sqrt(r705752);
        double r705754 = -r705753;
        double r705755 = -4.0;
        double r705756 = r705754 / r705755;
        double r705757 = r705756 + r705756;
        double r705758 = r705753 / r705755;
        double r705759 = r705758 + r705758;
        double r705760 = 10.0;
        double r705761 = r705760 * r705758;
        double r705762 = 2.0;
        double r705763 = r705753 / r705762;
        double r705764 = r705761 + r705763;
        double r705765 = r705759 + r705764;
        double r705766 = r705757 + r705765;
        double r705767 = /* ERROR: no complex support in C */;
        double r705768 = 5.0;
        double r705769 = r705753 * r705762;
        double r705770 = /* ERROR: no complex support in C */;
        double r705771 = r705767 + r705770;
        double r705772 = /* ERROR: no complex support in C */;
        return r705772;
}

Error

Derivation

  1. Initial program 0

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

    \[\leadsto \Im(\left(\left(-5 + \left(\left(\frac{-\sqrt{3}}{-4} + \frac{-\sqrt{3}}{-4}\right) + \left(\left(\frac{\sqrt{3}}{-4} + \frac{\sqrt{3}}{-4}\right) + \left(10 \cdot \frac{\sqrt{3}}{-4} + \frac{\sqrt{3}}{2}\right)\right)\right) i\right) + \left(5 + \sqrt{3} \cdot 2 i\right)\right))\]

Reproduce

herbie shell --seed 2019130 
(FPCore ()
  :name "3.9.2 imaginary part (p56)"
  (im (+.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))))