\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 r28586 = 1.0;
double r28587 = -r28586;
double r28588 = 2.0;
double r28589 = r28587 / r28588;
double r28590 = 3.0;
double r28591 = sqrt(r28590);
double r28592 = r28591 / r28588;
double r28593 = /* ERROR: no complex support in C */;
double r28594 = r28593 * r28593;
double r28595 = r28594 * r28593;
double r28596 = r28595 * r28593;
double r28597 = -r28588;
double r28598 = 0.0;
double r28599 = /* ERROR: no complex support in C */;
double r28600 = r28599 * r28593;
double r28601 = r28600 * r28593;
double r28602 = r28601 * r28593;
double r28603 = r28596 + r28602;
double r28604 = 5.0;
double r28605 = /* ERROR: no complex support in C */;
double r28606 = r28605 * r28593;
double r28607 = r28606 * r28593;
double r28608 = r28603 + r28607;
double r28609 = 4.0;
double r28610 = /* ERROR: no complex support in C */;
double r28611 = r28610 * r28593;
double r28612 = r28608 + r28611;
double r28613 = 7.0;
double r28614 = /* ERROR: no complex support in C */;
double r28615 = r28612 + r28614;
double r28616 = /* ERROR: no complex support in C */;
return r28616;
}
double f() {
double r28617 = 1.0;
double r28618 = -r28617;
double r28619 = 2.0;
double r28620 = r28618 / r28619;
double r28621 = 3.0;
double r28622 = sqrt(r28621);
double r28623 = r28622 / r28619;
double r28624 = /* ERROR: no complex support in C */;
double r28625 = r28624 * r28624;
double r28626 = r28625 * r28624;
double r28627 = r28626 * r28624;
double r28628 = -r28619;
double r28629 = 0.0;
double r28630 = /* ERROR: no complex support in C */;
double r28631 = r28630 * r28624;
double r28632 = r28631 * r28624;
double r28633 = r28632 * r28624;
double r28634 = r28627 + r28633;
double r28635 = 5.0;
double r28636 = /* ERROR: no complex support in C */;
double r28637 = r28636 * r28624;
double r28638 = r28637 * r28624;
double r28639 = r28634 + r28638;
double r28640 = 4.0;
double r28641 = /* ERROR: no complex support in C */;
double r28642 = r28641 * r28624;
double r28643 = r28639 + r28642;
double r28644 = 7.0;
double r28645 = /* ERROR: no complex support in C */;
double r28646 = r28643 + r28645;
double r28647 = /* ERROR: no complex support in C */;
return r28647;
}
Initial program 0
Final simplification0
herbie shell --seed 2019212
(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))))