\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 r39398 = 1.0;
double r39399 = -r39398;
double r39400 = 2.0;
double r39401 = r39399 / r39400;
double r39402 = 3.0;
double r39403 = sqrt(r39402);
double r39404 = r39403 / r39400;
double r39405 = /* ERROR: no complex support in C */;
double r39406 = r39405 * r39405;
double r39407 = r39406 * r39405;
double r39408 = r39407 * r39405;
double r39409 = -r39400;
double r39410 = 0.0;
double r39411 = /* ERROR: no complex support in C */;
double r39412 = r39411 * r39405;
double r39413 = r39412 * r39405;
double r39414 = r39413 * r39405;
double r39415 = r39408 + r39414;
double r39416 = 5.0;
double r39417 = /* ERROR: no complex support in C */;
double r39418 = r39417 * r39405;
double r39419 = r39418 * r39405;
double r39420 = r39415 + r39419;
double r39421 = 4.0;
double r39422 = /* ERROR: no complex support in C */;
double r39423 = r39422 * r39405;
double r39424 = r39420 + r39423;
double r39425 = 7.0;
double r39426 = /* ERROR: no complex support in C */;
double r39427 = r39424 + r39426;
double r39428 = /* ERROR: no complex support in C */;
return r39428;
}
double f() {
double r39429 = 1.0;
double r39430 = -r39429;
double r39431 = 2.0;
double r39432 = r39430 / r39431;
double r39433 = 3.0;
double r39434 = sqrt(r39433);
double r39435 = r39434 / r39431;
double r39436 = /* ERROR: no complex support in C */;
double r39437 = r39436 * r39436;
double r39438 = r39437 * r39436;
double r39439 = r39438 * r39436;
double r39440 = -r39431;
double r39441 = 0.0;
double r39442 = /* ERROR: no complex support in C */;
double r39443 = r39442 * r39436;
double r39444 = r39443 * r39436;
double r39445 = r39444 * r39436;
double r39446 = r39439 + r39445;
double r39447 = 5.0;
double r39448 = /* ERROR: no complex support in C */;
double r39449 = r39448 * r39436;
double r39450 = r39449 * r39436;
double r39451 = r39446 + r39450;
double r39452 = 4.0;
double r39453 = /* ERROR: no complex support in C */;
double r39454 = r39453 * r39436;
double r39455 = r39451 + r39454;
double r39456 = 7.0;
double r39457 = /* ERROR: no complex support in C */;
double r39458 = r39455 + r39457;
double r39459 = /* ERROR: no complex support in C */;
return r39459;
}
Initial program 0
Final simplification0
herbie shell --seed 2020035 +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))))