\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 r24024 = 1.0;
double r24025 = -r24024;
double r24026 = 2.0;
double r24027 = r24025 / r24026;
double r24028 = 3.0;
double r24029 = sqrt(r24028);
double r24030 = r24029 / r24026;
double r24031 = /* ERROR: no complex support in C */;
double r24032 = r24031 * r24031;
double r24033 = r24032 * r24031;
double r24034 = r24033 * r24031;
double r24035 = -r24026;
double r24036 = 0.0;
double r24037 = /* ERROR: no complex support in C */;
double r24038 = r24037 * r24031;
double r24039 = r24038 * r24031;
double r24040 = r24039 * r24031;
double r24041 = r24034 + r24040;
double r24042 = 5.0;
double r24043 = /* ERROR: no complex support in C */;
double r24044 = r24043 * r24031;
double r24045 = r24044 * r24031;
double r24046 = r24041 + r24045;
double r24047 = 4.0;
double r24048 = /* ERROR: no complex support in C */;
double r24049 = r24048 * r24031;
double r24050 = r24046 + r24049;
double r24051 = 7.0;
double r24052 = /* ERROR: no complex support in C */;
double r24053 = r24050 + r24052;
double r24054 = /* ERROR: no complex support in C */;
return r24054;
}
double f() {
double r24055 = 1.0;
double r24056 = -r24055;
double r24057 = 2.0;
double r24058 = r24056 / r24057;
double r24059 = 3.0;
double r24060 = sqrt(r24059);
double r24061 = r24060 / r24057;
double r24062 = /* ERROR: no complex support in C */;
double r24063 = r24062 * r24062;
double r24064 = r24063 * r24062;
double r24065 = r24064 * r24062;
double r24066 = -r24057;
double r24067 = 0.0;
double r24068 = /* ERROR: no complex support in C */;
double r24069 = r24068 * r24062;
double r24070 = r24069 * r24062;
double r24071 = r24070 * r24062;
double r24072 = r24065 + r24071;
double r24073 = 5.0;
double r24074 = /* ERROR: no complex support in C */;
double r24075 = r24074 * r24062;
double r24076 = r24075 * r24062;
double r24077 = r24072 + r24076;
double r24078 = 4.0;
double r24079 = /* ERROR: no complex support in C */;
double r24080 = r24079 * r24062;
double r24081 = r24077 + r24080;
double r24082 = 7.0;
double r24083 = /* ERROR: no complex support in C */;
double r24084 = r24081 + r24083;
double r24085 = /* ERROR: no complex support in C */;
return r24085;
}
Initial program 0
Final simplification0
herbie shell --seed 2020021 +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))))