\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 r32959 = 1.0;
double r32960 = -r32959;
double r32961 = 2.0;
double r32962 = r32960 / r32961;
double r32963 = 3.0;
double r32964 = sqrt(r32963);
double r32965 = r32964 / r32961;
double r32966 = /* ERROR: no complex support in C */;
double r32967 = r32966 * r32966;
double r32968 = r32967 * r32966;
double r32969 = r32968 * r32966;
double r32970 = -r32961;
double r32971 = 0.0;
double r32972 = /* ERROR: no complex support in C */;
double r32973 = r32972 * r32966;
double r32974 = r32973 * r32966;
double r32975 = r32974 * r32966;
double r32976 = r32969 + r32975;
double r32977 = 5.0;
double r32978 = /* ERROR: no complex support in C */;
double r32979 = r32978 * r32966;
double r32980 = r32979 * r32966;
double r32981 = r32976 + r32980;
double r32982 = 4.0;
double r32983 = /* ERROR: no complex support in C */;
double r32984 = r32983 * r32966;
double r32985 = r32981 + r32984;
double r32986 = 7.0;
double r32987 = /* ERROR: no complex support in C */;
double r32988 = r32985 + r32987;
double r32989 = /* ERROR: no complex support in C */;
return r32989;
}
double f() {
double r32990 = 1.0;
double r32991 = -r32990;
double r32992 = 2.0;
double r32993 = r32991 / r32992;
double r32994 = 3.0;
double r32995 = sqrt(r32994);
double r32996 = r32995 / r32992;
double r32997 = /* ERROR: no complex support in C */;
double r32998 = r32997 * r32997;
double r32999 = r32998 * r32997;
double r33000 = r32999 * r32997;
double r33001 = -r32992;
double r33002 = 0.0;
double r33003 = /* ERROR: no complex support in C */;
double r33004 = r33003 * r32997;
double r33005 = r33004 * r32997;
double r33006 = r33005 * r32997;
double r33007 = r33000 + r33006;
double r33008 = 5.0;
double r33009 = /* ERROR: no complex support in C */;
double r33010 = r33009 * r32997;
double r33011 = r33010 * r32997;
double r33012 = r33007 + r33011;
double r33013 = 4.0;
double r33014 = /* ERROR: no complex support in C */;
double r33015 = r33014 * r32997;
double r33016 = r33012 + r33015;
double r33017 = 7.0;
double r33018 = /* ERROR: no complex support in C */;
double r33019 = r33016 + r33018;
double r33020 = /* ERROR: no complex support in C */;
return r33020;
}
Initial program 0
Final simplification0
herbie shell --seed 2020064 +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))))