\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 r22930 = 1.0;
double r22931 = -r22930;
double r22932 = 2.0;
double r22933 = r22931 / r22932;
double r22934 = 3.0;
double r22935 = sqrt(r22934);
double r22936 = r22935 / r22932;
double r22937 = /* ERROR: no complex support in C */;
double r22938 = r22937 * r22937;
double r22939 = r22938 * r22937;
double r22940 = r22939 * r22937;
double r22941 = -r22932;
double r22942 = 0.0;
double r22943 = /* ERROR: no complex support in C */;
double r22944 = r22943 * r22937;
double r22945 = r22944 * r22937;
double r22946 = r22945 * r22937;
double r22947 = r22940 + r22946;
double r22948 = 5.0;
double r22949 = /* ERROR: no complex support in C */;
double r22950 = r22949 * r22937;
double r22951 = r22950 * r22937;
double r22952 = r22947 + r22951;
double r22953 = 4.0;
double r22954 = /* ERROR: no complex support in C */;
double r22955 = r22954 * r22937;
double r22956 = r22952 + r22955;
double r22957 = 7.0;
double r22958 = /* ERROR: no complex support in C */;
double r22959 = r22956 + r22958;
double r22960 = /* ERROR: no complex support in C */;
return r22960;
}
double f() {
double r22961 = 1.0;
double r22962 = -r22961;
double r22963 = 2.0;
double r22964 = r22962 / r22963;
double r22965 = 3.0;
double r22966 = sqrt(r22965);
double r22967 = r22966 / r22963;
double r22968 = /* ERROR: no complex support in C */;
double r22969 = r22968 * r22968;
double r22970 = r22969 * r22968;
double r22971 = r22970 * r22968;
double r22972 = -r22963;
double r22973 = 0.0;
double r22974 = /* ERROR: no complex support in C */;
double r22975 = r22974 * r22968;
double r22976 = r22975 * r22968;
double r22977 = r22976 * r22968;
double r22978 = r22971 + r22977;
double r22979 = 5.0;
double r22980 = /* ERROR: no complex support in C */;
double r22981 = r22980 * r22968;
double r22982 = r22981 * r22968;
double r22983 = r22978 + r22982;
double r22984 = 4.0;
double r22985 = /* ERROR: no complex support in C */;
double r22986 = r22985 * r22968;
double r22987 = r22983 + r22986;
double r22988 = 7.0;
double r22989 = /* ERROR: no complex support in C */;
double r22990 = r22987 + r22989;
double r22991 = /* ERROR: no complex support in C */;
return r22991;
}
Initial program 0
Final simplification0
herbie shell --seed 2019325
(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))))