\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 r15577 = 1.0;
double r15578 = -r15577;
double r15579 = 2.0;
double r15580 = r15578 / r15579;
double r15581 = 3.0;
double r15582 = sqrt(r15581);
double r15583 = r15582 / r15579;
double r15584 = /* ERROR: no complex support in C */;
double r15585 = r15584 * r15584;
double r15586 = r15585 * r15584;
double r15587 = r15586 * r15584;
double r15588 = -r15579;
double r15589 = 0.0;
double r15590 = /* ERROR: no complex support in C */;
double r15591 = r15590 * r15584;
double r15592 = r15591 * r15584;
double r15593 = r15592 * r15584;
double r15594 = r15587 + r15593;
double r15595 = 5.0;
double r15596 = /* ERROR: no complex support in C */;
double r15597 = r15596 * r15584;
double r15598 = r15597 * r15584;
double r15599 = r15594 + r15598;
double r15600 = 4.0;
double r15601 = /* ERROR: no complex support in C */;
double r15602 = r15601 * r15584;
double r15603 = r15599 + r15602;
double r15604 = 7.0;
double r15605 = /* ERROR: no complex support in C */;
double r15606 = r15603 + r15605;
double r15607 = /* ERROR: no complex support in C */;
return r15607;
}
double f() {
double r15608 = 1.0;
double r15609 = -r15608;
double r15610 = 2.0;
double r15611 = r15609 / r15610;
double r15612 = 3.0;
double r15613 = sqrt(r15612);
double r15614 = r15613 / r15610;
double r15615 = /* ERROR: no complex support in C */;
double r15616 = r15615 * r15615;
double r15617 = r15616 * r15615;
double r15618 = r15617 * r15615;
double r15619 = -r15610;
double r15620 = 0.0;
double r15621 = /* ERROR: no complex support in C */;
double r15622 = r15621 * r15615;
double r15623 = r15622 * r15615;
double r15624 = r15623 * r15615;
double r15625 = r15618 + r15624;
double r15626 = 5.0;
double r15627 = /* ERROR: no complex support in C */;
double r15628 = r15627 * r15615;
double r15629 = r15628 * r15615;
double r15630 = r15625 + r15629;
double r15631 = 4.0;
double r15632 = /* ERROR: no complex support in C */;
double r15633 = r15632 * r15615;
double r15634 = r15630 + r15633;
double r15635 = 7.0;
double r15636 = /* ERROR: no complex support in C */;
double r15637 = r15634 + r15636;
double r15638 = /* ERROR: no complex support in C */;
return r15638;
}
Initial program 0
Final simplification0
herbie shell --seed 2020046 +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))))