Average Error: 0 → 0
Time: 22.3s
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(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \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) + \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(-2 + 0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right)\right) + \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) + \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(4 + 0 i\right)\right) + \left(7 + 0 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(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \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) + \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(-2 + 0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right)\right) + \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) + \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(4 + 0 i\right)\right) + \left(7 + 0 i\right)\right))
double f() {
        double r1209776 = 1.0;
        double r1209777 = -r1209776;
        double r1209778 = 2.0;
        double r1209779 = r1209777 / r1209778;
        double r1209780 = 3.0;
        double r1209781 = sqrt(r1209780);
        double r1209782 = r1209781 / r1209778;
        double r1209783 = /* ERROR: no complex support in C */;
        double r1209784 = r1209783 * r1209783;
        double r1209785 = r1209784 * r1209783;
        double r1209786 = r1209785 * r1209783;
        double r1209787 = -r1209778;
        double r1209788 = 0.0;
        double r1209789 = /* ERROR: no complex support in C */;
        double r1209790 = r1209789 * r1209783;
        double r1209791 = r1209790 * r1209783;
        double r1209792 = r1209791 * r1209783;
        double r1209793 = r1209786 + r1209792;
        double r1209794 = 5.0;
        double r1209795 = /* ERROR: no complex support in C */;
        double r1209796 = r1209795 * r1209783;
        double r1209797 = r1209796 * r1209783;
        double r1209798 = r1209793 + r1209797;
        double r1209799 = 4.0;
        double r1209800 = /* ERROR: no complex support in C */;
        double r1209801 = r1209800 * r1209783;
        double r1209802 = r1209798 + r1209801;
        double r1209803 = 7.0;
        double r1209804 = /* ERROR: no complex support in C */;
        double r1209805 = r1209802 + r1209804;
        double r1209806 = /* ERROR: no complex support in C */;
        return r1209806;
}

double f() {
        double r1209807 = -0.5;
        double r1209808 = 3.0;
        double r1209809 = sqrt(r1209808);
        double r1209810 = 2.0;
        double r1209811 = r1209809 / r1209810;
        double r1209812 = /* ERROR: no complex support in C */;
        double r1209813 = r1209812 * r1209812;
        double r1209814 = r1209813 * r1209812;
        double r1209815 = r1209812 * r1209814;
        double r1209816 = -2.0;
        double r1209817 = 0.0;
        double r1209818 = /* ERROR: no complex support in C */;
        double r1209819 = r1209818 * r1209812;
        double r1209820 = r1209812 * r1209819;
        double r1209821 = r1209812 * r1209820;
        double r1209822 = r1209815 + r1209821;
        double r1209823 = 5.0;
        double r1209824 = /* ERROR: no complex support in C */;
        double r1209825 = r1209824 * r1209812;
        double r1209826 = r1209825 * r1209812;
        double r1209827 = r1209822 + r1209826;
        double r1209828 = 4.0;
        double r1209829 = /* ERROR: no complex support in C */;
        double r1209830 = r1209812 * r1209829;
        double r1209831 = r1209827 + r1209830;
        double r1209832 = 7.0;
        double r1209833 = /* ERROR: no complex support in C */;
        double r1209834 = r1209831 + r1209833;
        double r1209835 = /* ERROR: no complex support in C */;
        return r1209835;
}

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. Final simplification0

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

Reproduce

herbie shell --seed 2019132 +o rules:numerics
(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))))