\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 r38026 = 1.0;
double r38027 = -r38026;
double r38028 = 2.0;
double r38029 = r38027 / r38028;
double r38030 = 3.0;
double r38031 = sqrt(r38030);
double r38032 = r38031 / r38028;
double r38033 = /* ERROR: no complex support in C */;
double r38034 = r38033 * r38033;
double r38035 = r38034 * r38033;
double r38036 = r38035 * r38033;
double r38037 = -r38028;
double r38038 = 0.0;
double r38039 = /* ERROR: no complex support in C */;
double r38040 = r38039 * r38033;
double r38041 = r38040 * r38033;
double r38042 = r38041 * r38033;
double r38043 = r38036 + r38042;
double r38044 = 5.0;
double r38045 = /* ERROR: no complex support in C */;
double r38046 = r38045 * r38033;
double r38047 = r38046 * r38033;
double r38048 = r38043 + r38047;
double r38049 = 4.0;
double r38050 = /* ERROR: no complex support in C */;
double r38051 = r38050 * r38033;
double r38052 = r38048 + r38051;
double r38053 = 7.0;
double r38054 = /* ERROR: no complex support in C */;
double r38055 = r38052 + r38054;
double r38056 = /* ERROR: no complex support in C */;
return r38056;
}
double f() {
double r38057 = 1.0;
double r38058 = -r38057;
double r38059 = 2.0;
double r38060 = r38058 / r38059;
double r38061 = 3.0;
double r38062 = sqrt(r38061);
double r38063 = r38062 / r38059;
double r38064 = /* ERROR: no complex support in C */;
double r38065 = r38064 * r38064;
double r38066 = r38065 * r38064;
double r38067 = r38066 * r38064;
double r38068 = -r38059;
double r38069 = 0.0;
double r38070 = /* ERROR: no complex support in C */;
double r38071 = r38070 * r38064;
double r38072 = r38071 * r38064;
double r38073 = r38072 * r38064;
double r38074 = r38067 + r38073;
double r38075 = 5.0;
double r38076 = /* ERROR: no complex support in C */;
double r38077 = r38076 * r38064;
double r38078 = r38077 * r38064;
double r38079 = r38074 + r38078;
double r38080 = 4.0;
double r38081 = /* ERROR: no complex support in C */;
double r38082 = r38081 * r38064;
double r38083 = r38079 + r38082;
double r38084 = 7.0;
double r38085 = /* ERROR: no complex support in C */;
double r38086 = r38083 + r38085;
double r38087 = /* ERROR: no complex support in C */;
return r38087;
}
Initial program 0
Final simplification0
herbie shell --seed 2020024
(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))))