\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 r86332 = 1.0;
double r86333 = -r86332;
double r86334 = 2.0;
double r86335 = r86333 / r86334;
double r86336 = 3.0;
double r86337 = sqrt(r86336);
double r86338 = r86337 / r86334;
double r86339 = /* ERROR: no complex support in C */;
double r86340 = r86339 * r86339;
double r86341 = r86340 * r86339;
double r86342 = r86341 * r86339;
double r86343 = -r86334;
double r86344 = 0.0;
double r86345 = /* ERROR: no complex support in C */;
double r86346 = r86345 * r86339;
double r86347 = r86346 * r86339;
double r86348 = r86347 * r86339;
double r86349 = r86342 + r86348;
double r86350 = 5.0;
double r86351 = /* ERROR: no complex support in C */;
double r86352 = r86351 * r86339;
double r86353 = r86352 * r86339;
double r86354 = r86349 + r86353;
double r86355 = 4.0;
double r86356 = /* ERROR: no complex support in C */;
double r86357 = r86356 * r86339;
double r86358 = r86354 + r86357;
double r86359 = 7.0;
double r86360 = /* ERROR: no complex support in C */;
double r86361 = r86358 + r86360;
double r86362 = /* ERROR: no complex support in C */;
return r86362;
}
double f() {
double r86363 = 1.0;
double r86364 = -r86363;
double r86365 = 2.0;
double r86366 = r86364 / r86365;
double r86367 = 3.0;
double r86368 = sqrt(r86367);
double r86369 = r86368 / r86365;
double r86370 = /* ERROR: no complex support in C */;
double r86371 = r86370 * r86370;
double r86372 = r86371 * r86370;
double r86373 = r86372 * r86370;
double r86374 = -r86365;
double r86375 = 0.0;
double r86376 = /* ERROR: no complex support in C */;
double r86377 = r86376 * r86370;
double r86378 = r86377 * r86370;
double r86379 = r86378 * r86370;
double r86380 = r86373 + r86379;
double r86381 = 5.0;
double r86382 = /* ERROR: no complex support in C */;
double r86383 = r86382 * r86370;
double r86384 = r86383 * r86370;
double r86385 = r86380 + r86384;
double r86386 = 4.0;
double r86387 = /* ERROR: no complex support in C */;
double r86388 = r86387 * r86370;
double r86389 = r86385 + r86388;
double r86390 = 7.0;
double r86391 = /* ERROR: no complex support in C */;
double r86392 = r86389 + r86391;
double r86393 = /* ERROR: no complex support in C */;
return r86393;
}
Initial program 0
Final simplification0
herbie shell --seed 2019322
(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))))