\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 r33977 = 1.0;
double r33978 = -r33977;
double r33979 = 2.0;
double r33980 = r33978 / r33979;
double r33981 = 3.0;
double r33982 = sqrt(r33981);
double r33983 = r33982 / r33979;
double r33984 = /* ERROR: no complex support in C */;
double r33985 = r33984 * r33984;
double r33986 = r33985 * r33984;
double r33987 = r33986 * r33984;
double r33988 = -r33979;
double r33989 = 0.0;
double r33990 = /* ERROR: no complex support in C */;
double r33991 = r33990 * r33984;
double r33992 = r33991 * r33984;
double r33993 = r33992 * r33984;
double r33994 = r33987 + r33993;
double r33995 = 5.0;
double r33996 = /* ERROR: no complex support in C */;
double r33997 = r33996 * r33984;
double r33998 = r33997 * r33984;
double r33999 = r33994 + r33998;
double r34000 = 4.0;
double r34001 = /* ERROR: no complex support in C */;
double r34002 = r34001 * r33984;
double r34003 = r33999 + r34002;
double r34004 = 7.0;
double r34005 = /* ERROR: no complex support in C */;
double r34006 = r34003 + r34005;
double r34007 = /* ERROR: no complex support in C */;
return r34007;
}
double f() {
double r34008 = 1.0;
double r34009 = -r34008;
double r34010 = 2.0;
double r34011 = r34009 / r34010;
double r34012 = 3.0;
double r34013 = sqrt(r34012);
double r34014 = r34013 / r34010;
double r34015 = /* ERROR: no complex support in C */;
double r34016 = r34015 * r34015;
double r34017 = r34016 * r34015;
double r34018 = r34017 * r34015;
double r34019 = -r34010;
double r34020 = 0.0;
double r34021 = /* ERROR: no complex support in C */;
double r34022 = r34021 * r34015;
double r34023 = r34022 * r34015;
double r34024 = r34023 * r34015;
double r34025 = r34018 + r34024;
double r34026 = 5.0;
double r34027 = /* ERROR: no complex support in C */;
double r34028 = r34027 * r34015;
double r34029 = r34028 * r34015;
double r34030 = r34025 + r34029;
double r34031 = 4.0;
double r34032 = /* ERROR: no complex support in C */;
double r34033 = r34032 * r34015;
double r34034 = r34030 + r34033;
double r34035 = 7.0;
double r34036 = /* ERROR: no complex support in C */;
double r34037 = r34034 + r34036;
double r34038 = /* ERROR: no complex support in C */;
return r34038;
}
Initial program 0
Final simplification0
herbie shell --seed 2020014 +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))))