\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 r10447 = 1.0;
double r10448 = -r10447;
double r10449 = 2.0;
double r10450 = r10448 / r10449;
double r10451 = 3.0;
double r10452 = sqrt(r10451);
double r10453 = r10452 / r10449;
double r10454 = /* ERROR: no complex support in C */;
double r10455 = r10454 * r10454;
double r10456 = r10455 * r10454;
double r10457 = r10456 * r10454;
double r10458 = -r10449;
double r10459 = 0.0;
double r10460 = /* ERROR: no complex support in C */;
double r10461 = r10460 * r10454;
double r10462 = r10461 * r10454;
double r10463 = r10462 * r10454;
double r10464 = r10457 + r10463;
double r10465 = 5.0;
double r10466 = /* ERROR: no complex support in C */;
double r10467 = r10466 * r10454;
double r10468 = r10467 * r10454;
double r10469 = r10464 + r10468;
double r10470 = 4.0;
double r10471 = /* ERROR: no complex support in C */;
double r10472 = r10471 * r10454;
double r10473 = r10469 + r10472;
double r10474 = 7.0;
double r10475 = /* ERROR: no complex support in C */;
double r10476 = r10473 + r10475;
double r10477 = /* ERROR: no complex support in C */;
return r10477;
}
double f() {
double r10478 = 1.0;
double r10479 = -r10478;
double r10480 = 2.0;
double r10481 = r10479 / r10480;
double r10482 = 3.0;
double r10483 = sqrt(r10482);
double r10484 = r10483 / r10480;
double r10485 = /* ERROR: no complex support in C */;
double r10486 = r10485 * r10485;
double r10487 = r10486 * r10485;
double r10488 = r10487 * r10485;
double r10489 = -r10480;
double r10490 = 0.0;
double r10491 = /* ERROR: no complex support in C */;
double r10492 = r10491 * r10485;
double r10493 = r10492 * r10485;
double r10494 = r10493 * r10485;
double r10495 = r10488 + r10494;
double r10496 = 5.0;
double r10497 = /* ERROR: no complex support in C */;
double r10498 = r10497 * r10485;
double r10499 = r10498 * r10485;
double r10500 = r10495 + r10499;
double r10501 = 4.0;
double r10502 = /* ERROR: no complex support in C */;
double r10503 = r10502 * r10485;
double r10504 = r10500 + r10503;
double r10505 = 7.0;
double r10506 = /* ERROR: no complex support in C */;
double r10507 = r10504 + r10506;
double r10508 = /* ERROR: no complex support in C */;
return r10508;
}
Initial program 0
Final simplification0
herbie shell --seed 2019199 +o rules:numerics
(FPCore ()
:name "3.9.2 imaginary part (p56)"
(im (+ (+ (+ (+ (* (* (* (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (* (* (* (complex (- 2.0) 0.0) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)))) (* (* (complex 5.0 0.0) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)))) (* (complex 4.0 0.0) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)))) (complex 7.0 0.0))))