\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 r21257 = 1.0;
double r21258 = -r21257;
double r21259 = 2.0;
double r21260 = r21258 / r21259;
double r21261 = 3.0;
double r21262 = sqrt(r21261);
double r21263 = r21262 / r21259;
double r21264 = /* ERROR: no complex support in C */;
double r21265 = r21264 * r21264;
double r21266 = r21265 * r21264;
double r21267 = r21266 * r21264;
double r21268 = -r21259;
double r21269 = 0.0;
double r21270 = /* ERROR: no complex support in C */;
double r21271 = r21270 * r21264;
double r21272 = r21271 * r21264;
double r21273 = r21272 * r21264;
double r21274 = r21267 + r21273;
double r21275 = 5.0;
double r21276 = /* ERROR: no complex support in C */;
double r21277 = r21276 * r21264;
double r21278 = r21277 * r21264;
double r21279 = r21274 + r21278;
double r21280 = 4.0;
double r21281 = /* ERROR: no complex support in C */;
double r21282 = r21281 * r21264;
double r21283 = r21279 + r21282;
double r21284 = 7.0;
double r21285 = /* ERROR: no complex support in C */;
double r21286 = r21283 + r21285;
double r21287 = /* ERROR: no complex support in C */;
return r21287;
}
double f() {
double r21288 = 1.0;
double r21289 = -r21288;
double r21290 = 2.0;
double r21291 = r21289 / r21290;
double r21292 = 3.0;
double r21293 = sqrt(r21292);
double r21294 = r21293 / r21290;
double r21295 = /* ERROR: no complex support in C */;
double r21296 = r21295 * r21295;
double r21297 = r21296 * r21295;
double r21298 = r21297 * r21295;
double r21299 = -r21290;
double r21300 = 0.0;
double r21301 = /* ERROR: no complex support in C */;
double r21302 = r21301 * r21295;
double r21303 = r21302 * r21295;
double r21304 = r21303 * r21295;
double r21305 = r21298 + r21304;
double r21306 = 5.0;
double r21307 = /* ERROR: no complex support in C */;
double r21308 = r21307 * r21295;
double r21309 = r21308 * r21295;
double r21310 = r21305 + r21309;
double r21311 = 4.0;
double r21312 = /* ERROR: no complex support in C */;
double r21313 = r21312 * r21295;
double r21314 = r21310 + r21313;
double r21315 = 7.0;
double r21316 = /* ERROR: no complex support in C */;
double r21317 = r21314 + r21316;
double r21318 = /* ERROR: no complex support in C */;
return r21318;
}
Initial program 0
Final simplification0
herbie shell --seed 2020045 +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))))