\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.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.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.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0.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.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.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.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0.0 i\right)\right))double f() {
double r27797 = 1.0;
double r27798 = -r27797;
double r27799 = 2.0;
double r27800 = r27798 / r27799;
double r27801 = 3.0;
double r27802 = sqrt(r27801);
double r27803 = r27802 / r27799;
double r27804 = /* ERROR: no complex support in C */;
double r27805 = r27804 * r27804;
double r27806 = r27805 * r27804;
double r27807 = r27806 * r27804;
double r27808 = -r27799;
double r27809 = 0.0;
double r27810 = /* ERROR: no complex support in C */;
double r27811 = r27810 * r27804;
double r27812 = r27811 * r27804;
double r27813 = r27812 * r27804;
double r27814 = r27807 + r27813;
double r27815 = 5.0;
double r27816 = /* ERROR: no complex support in C */;
double r27817 = r27816 * r27804;
double r27818 = r27817 * r27804;
double r27819 = r27814 + r27818;
double r27820 = 4.0;
double r27821 = /* ERROR: no complex support in C */;
double r27822 = r27821 * r27804;
double r27823 = r27819 + r27822;
double r27824 = 7.0;
double r27825 = /* ERROR: no complex support in C */;
double r27826 = r27823 + r27825;
double r27827 = /* ERROR: no complex support in C */;
return r27827;
}
double f() {
double r27828 = 1.0;
double r27829 = -r27828;
double r27830 = 2.0;
double r27831 = r27829 / r27830;
double r27832 = 3.0;
double r27833 = sqrt(r27832);
double r27834 = r27833 / r27830;
double r27835 = /* ERROR: no complex support in C */;
double r27836 = r27835 * r27835;
double r27837 = r27836 * r27835;
double r27838 = r27837 * r27835;
double r27839 = -r27830;
double r27840 = 0.0;
double r27841 = /* ERROR: no complex support in C */;
double r27842 = r27841 * r27835;
double r27843 = r27842 * r27835;
double r27844 = r27843 * r27835;
double r27845 = r27838 + r27844;
double r27846 = 5.0;
double r27847 = /* ERROR: no complex support in C */;
double r27848 = r27847 * r27835;
double r27849 = r27848 * r27835;
double r27850 = r27845 + r27849;
double r27851 = 4.0;
double r27852 = /* ERROR: no complex support in C */;
double r27853 = r27852 * r27835;
double r27854 = r27850 + r27853;
double r27855 = 7.0;
double r27856 = /* ERROR: no complex support in C */;
double r27857 = r27854 + r27856;
double r27858 = /* ERROR: no complex support in C */;
return r27858;
}
Initial program 0
Final simplification0
herbie shell --seed 2020062 +o rules:numerics
(FPCore ()
:name "3.9.2 imaginary part (p56)"
:precision binary64
(im (+ (+ (+ (+ (* (* (* (complex (/ (- 1) 2) (/ (sqrt 3) 2)) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (* (* (* (complex (- 2) 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (* (* (complex 5 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (* (complex 4 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (complex 7 0.0))))