\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 r33597 = 1.0;
double r33598 = -r33597;
double r33599 = 2.0;
double r33600 = r33598 / r33599;
double r33601 = 3.0;
double r33602 = sqrt(r33601);
double r33603 = r33602 / r33599;
double r33604 = /* ERROR: no complex support in C */;
double r33605 = r33604 * r33604;
double r33606 = r33605 * r33604;
double r33607 = r33606 * r33604;
double r33608 = -r33599;
double r33609 = 0.0;
double r33610 = /* ERROR: no complex support in C */;
double r33611 = r33610 * r33604;
double r33612 = r33611 * r33604;
double r33613 = r33612 * r33604;
double r33614 = r33607 + r33613;
double r33615 = 5.0;
double r33616 = /* ERROR: no complex support in C */;
double r33617 = r33616 * r33604;
double r33618 = r33617 * r33604;
double r33619 = r33614 + r33618;
double r33620 = 4.0;
double r33621 = /* ERROR: no complex support in C */;
double r33622 = r33621 * r33604;
double r33623 = r33619 + r33622;
double r33624 = 7.0;
double r33625 = /* ERROR: no complex support in C */;
double r33626 = r33623 + r33625;
double r33627 = /* ERROR: no complex support in C */;
return r33627;
}
double f() {
double r33628 = 1.0;
double r33629 = -r33628;
double r33630 = 2.0;
double r33631 = r33629 / r33630;
double r33632 = 3.0;
double r33633 = sqrt(r33632);
double r33634 = r33633 / r33630;
double r33635 = /* ERROR: no complex support in C */;
double r33636 = r33635 * r33635;
double r33637 = r33636 * r33635;
double r33638 = r33637 * r33635;
double r33639 = -r33630;
double r33640 = 0.0;
double r33641 = /* ERROR: no complex support in C */;
double r33642 = r33641 * r33635;
double r33643 = r33642 * r33635;
double r33644 = r33643 * r33635;
double r33645 = r33638 + r33644;
double r33646 = 5.0;
double r33647 = /* ERROR: no complex support in C */;
double r33648 = r33647 * r33635;
double r33649 = r33648 * r33635;
double r33650 = r33645 + r33649;
double r33651 = 4.0;
double r33652 = /* ERROR: no complex support in C */;
double r33653 = r33652 * r33635;
double r33654 = r33650 + r33653;
double r33655 = 7.0;
double r33656 = /* ERROR: no complex support in C */;
double r33657 = r33654 + r33656;
double r33658 = /* ERROR: no complex support in C */;
return r33658;
}
Initial program 0
Final simplification0
herbie shell --seed 2020065
(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))))