\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 r35010 = 1.0;
double r35011 = -r35010;
double r35012 = 2.0;
double r35013 = r35011 / r35012;
double r35014 = 3.0;
double r35015 = sqrt(r35014);
double r35016 = r35015 / r35012;
double r35017 = /* ERROR: no complex support in C */;
double r35018 = r35017 * r35017;
double r35019 = r35018 * r35017;
double r35020 = r35019 * r35017;
double r35021 = -r35012;
double r35022 = 0.0;
double r35023 = /* ERROR: no complex support in C */;
double r35024 = r35023 * r35017;
double r35025 = r35024 * r35017;
double r35026 = r35025 * r35017;
double r35027 = r35020 + r35026;
double r35028 = 5.0;
double r35029 = /* ERROR: no complex support in C */;
double r35030 = r35029 * r35017;
double r35031 = r35030 * r35017;
double r35032 = r35027 + r35031;
double r35033 = 4.0;
double r35034 = /* ERROR: no complex support in C */;
double r35035 = r35034 * r35017;
double r35036 = r35032 + r35035;
double r35037 = 7.0;
double r35038 = /* ERROR: no complex support in C */;
double r35039 = r35036 + r35038;
double r35040 = /* ERROR: no complex support in C */;
return r35040;
}
double f() {
double r35041 = 1.0;
double r35042 = -r35041;
double r35043 = 2.0;
double r35044 = r35042 / r35043;
double r35045 = 3.0;
double r35046 = sqrt(r35045);
double r35047 = r35046 / r35043;
double r35048 = /* ERROR: no complex support in C */;
double r35049 = r35048 * r35048;
double r35050 = r35049 * r35048;
double r35051 = r35050 * r35048;
double r35052 = -r35043;
double r35053 = 0.0;
double r35054 = /* ERROR: no complex support in C */;
double r35055 = r35054 * r35048;
double r35056 = r35055 * r35048;
double r35057 = r35056 * r35048;
double r35058 = r35051 + r35057;
double r35059 = 5.0;
double r35060 = /* ERROR: no complex support in C */;
double r35061 = r35060 * r35048;
double r35062 = r35061 * r35048;
double r35063 = r35058 + r35062;
double r35064 = 4.0;
double r35065 = /* ERROR: no complex support in C */;
double r35066 = r35065 * r35048;
double r35067 = r35063 + r35066;
double r35068 = 7.0;
double r35069 = /* ERROR: no complex support in C */;
double r35070 = r35067 + r35069;
double r35071 = /* ERROR: no complex support in C */;
return r35071;
}
Initial program 0
Final simplification0
herbie shell --seed 2020060 +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))))