\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 + \frac{\sqrt{3}}{2} \cdot 4 i\right) + \left(\left(\left(\left(-\frac{\sqrt{3}}{2} \cdot \frac{\sqrt{3}}{2}\right) + \frac{1}{4}\right) + \frac{-\sqrt{3}}{2} i\right) + \left(6 + \frac{\sqrt{3}}{-1} i\right)\right) \cdot \left(\left(\left(-\frac{\sqrt{3}}{2} \cdot \frac{\sqrt{3}}{2}\right) + \frac{1}{4}\right) + \frac{-\sqrt{3}}{2} i\right)\right))double f() {
double r890760 = 1.0;
double r890761 = -r890760;
double r890762 = 2.0;
double r890763 = r890761 / r890762;
double r890764 = 3.0;
double r890765 = sqrt(r890764);
double r890766 = r890765 / r890762;
double r890767 = /* ERROR: no complex support in C */;
double r890768 = r890767 * r890767;
double r890769 = r890768 * r890767;
double r890770 = r890769 * r890767;
double r890771 = -r890762;
double r890772 = 0.0;
double r890773 = /* ERROR: no complex support in C */;
double r890774 = r890773 * r890767;
double r890775 = r890774 * r890767;
double r890776 = r890775 * r890767;
double r890777 = r890770 + r890776;
double r890778 = 5.0;
double r890779 = /* ERROR: no complex support in C */;
double r890780 = r890779 * r890767;
double r890781 = r890780 * r890767;
double r890782 = r890777 + r890781;
double r890783 = 4.0;
double r890784 = /* ERROR: no complex support in C */;
double r890785 = r890784 * r890767;
double r890786 = r890782 + r890785;
double r890787 = 7.0;
double r890788 = /* ERROR: no complex support in C */;
double r890789 = r890786 + r890788;
double r890790 = /* ERROR: no complex support in C */;
return r890790;
}
double f() {
double r890791 = 5.0;
double r890792 = 3.0;
double r890793 = sqrt(r890792);
double r890794 = 2.0;
double r890795 = r890793 / r890794;
double r890796 = 4.0;
double r890797 = r890795 * r890796;
double r890798 = /* ERROR: no complex support in C */;
double r890799 = r890795 * r890795;
double r890800 = -r890799;
double r890801 = 0.25;
double r890802 = r890800 + r890801;
double r890803 = -r890793;
double r890804 = r890803 / r890794;
double r890805 = /* ERROR: no complex support in C */;
double r890806 = 6.0;
double r890807 = -1.0;
double r890808 = r890793 / r890807;
double r890809 = /* ERROR: no complex support in C */;
double r890810 = r890805 + r890809;
double r890811 = r890810 * r890805;
double r890812 = r890798 + r890811;
double r890813 = /* ERROR: no complex support in C */;
return r890813;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019153
(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))))