\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 r34928 = 1.0;
double r34929 = -r34928;
double r34930 = 2.0;
double r34931 = r34929 / r34930;
double r34932 = 3.0;
double r34933 = sqrt(r34932);
double r34934 = r34933 / r34930;
double r34935 = /* ERROR: no complex support in C */;
double r34936 = r34935 * r34935;
double r34937 = r34936 * r34935;
double r34938 = r34937 * r34935;
double r34939 = -r34930;
double r34940 = 0.0;
double r34941 = /* ERROR: no complex support in C */;
double r34942 = r34941 * r34935;
double r34943 = r34942 * r34935;
double r34944 = r34943 * r34935;
double r34945 = r34938 + r34944;
double r34946 = 5.0;
double r34947 = /* ERROR: no complex support in C */;
double r34948 = r34947 * r34935;
double r34949 = r34948 * r34935;
double r34950 = r34945 + r34949;
double r34951 = 4.0;
double r34952 = /* ERROR: no complex support in C */;
double r34953 = r34952 * r34935;
double r34954 = r34950 + r34953;
double r34955 = 7.0;
double r34956 = /* ERROR: no complex support in C */;
double r34957 = r34954 + r34956;
double r34958 = /* ERROR: no complex support in C */;
return r34958;
}
double f() {
double r34959 = 1.0;
double r34960 = -r34959;
double r34961 = 2.0;
double r34962 = r34960 / r34961;
double r34963 = 3.0;
double r34964 = sqrt(r34963);
double r34965 = r34964 / r34961;
double r34966 = /* ERROR: no complex support in C */;
double r34967 = r34966 * r34966;
double r34968 = r34967 * r34966;
double r34969 = r34968 * r34966;
double r34970 = -r34961;
double r34971 = 0.0;
double r34972 = /* ERROR: no complex support in C */;
double r34973 = r34972 * r34966;
double r34974 = r34973 * r34966;
double r34975 = r34974 * r34966;
double r34976 = r34969 + r34975;
double r34977 = 5.0;
double r34978 = /* ERROR: no complex support in C */;
double r34979 = r34978 * r34966;
double r34980 = r34979 * r34966;
double r34981 = r34976 + r34980;
double r34982 = 4.0;
double r34983 = /* ERROR: no complex support in C */;
double r34984 = r34983 * r34966;
double r34985 = r34981 + r34984;
double r34986 = 7.0;
double r34987 = /* ERROR: no complex support in C */;
double r34988 = r34985 + r34987;
double r34989 = /* ERROR: no complex support in C */;
return r34989;
}
Initial program 0
Final simplification0
herbie shell --seed 2019306 +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))))