\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 r43419 = 1.0;
double r43420 = -r43419;
double r43421 = 2.0;
double r43422 = r43420 / r43421;
double r43423 = 3.0;
double r43424 = sqrt(r43423);
double r43425 = r43424 / r43421;
double r43426 = /* ERROR: no complex support in C */;
double r43427 = r43426 * r43426;
double r43428 = r43427 * r43426;
double r43429 = r43428 * r43426;
double r43430 = -r43421;
double r43431 = 0.0;
double r43432 = /* ERROR: no complex support in C */;
double r43433 = r43432 * r43426;
double r43434 = r43433 * r43426;
double r43435 = r43434 * r43426;
double r43436 = r43429 + r43435;
double r43437 = 5.0;
double r43438 = /* ERROR: no complex support in C */;
double r43439 = r43438 * r43426;
double r43440 = r43439 * r43426;
double r43441 = r43436 + r43440;
double r43442 = 4.0;
double r43443 = /* ERROR: no complex support in C */;
double r43444 = r43443 * r43426;
double r43445 = r43441 + r43444;
double r43446 = 7.0;
double r43447 = /* ERROR: no complex support in C */;
double r43448 = r43445 + r43447;
double r43449 = /* ERROR: no complex support in C */;
return r43449;
}
double f() {
double r43450 = 1.0;
double r43451 = -r43450;
double r43452 = 2.0;
double r43453 = r43451 / r43452;
double r43454 = 3.0;
double r43455 = sqrt(r43454);
double r43456 = r43455 / r43452;
double r43457 = /* ERROR: no complex support in C */;
double r43458 = r43457 * r43457;
double r43459 = r43458 * r43457;
double r43460 = r43459 * r43457;
double r43461 = -r43452;
double r43462 = 0.0;
double r43463 = /* ERROR: no complex support in C */;
double r43464 = r43463 * r43457;
double r43465 = r43464 * r43457;
double r43466 = r43465 * r43457;
double r43467 = r43460 + r43466;
double r43468 = 5.0;
double r43469 = /* ERROR: no complex support in C */;
double r43470 = r43469 * r43457;
double r43471 = r43470 * r43457;
double r43472 = r43467 + r43471;
double r43473 = 4.0;
double r43474 = /* ERROR: no complex support in C */;
double r43475 = r43474 * r43457;
double r43476 = r43472 + r43475;
double r43477 = 7.0;
double r43478 = /* ERROR: no complex support in C */;
double r43479 = r43476 + r43478;
double r43480 = /* ERROR: no complex support in C */;
return r43480;
}
Initial program 0
Final simplification0
herbie shell --seed 2020025 +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))))