\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 r44617 = 1.0;
double r44618 = -r44617;
double r44619 = 2.0;
double r44620 = r44618 / r44619;
double r44621 = 3.0;
double r44622 = sqrt(r44621);
double r44623 = r44622 / r44619;
double r44624 = /* ERROR: no complex support in C */;
double r44625 = r44624 * r44624;
double r44626 = r44625 * r44624;
double r44627 = r44626 * r44624;
double r44628 = -r44619;
double r44629 = 0.0;
double r44630 = /* ERROR: no complex support in C */;
double r44631 = r44630 * r44624;
double r44632 = r44631 * r44624;
double r44633 = r44632 * r44624;
double r44634 = r44627 + r44633;
double r44635 = 5.0;
double r44636 = /* ERROR: no complex support in C */;
double r44637 = r44636 * r44624;
double r44638 = r44637 * r44624;
double r44639 = r44634 + r44638;
double r44640 = 4.0;
double r44641 = /* ERROR: no complex support in C */;
double r44642 = r44641 * r44624;
double r44643 = r44639 + r44642;
double r44644 = 7.0;
double r44645 = /* ERROR: no complex support in C */;
double r44646 = r44643 + r44645;
double r44647 = /* ERROR: no complex support in C */;
return r44647;
}
double f() {
double r44648 = 1.0;
double r44649 = -r44648;
double r44650 = 2.0;
double r44651 = r44649 / r44650;
double r44652 = 3.0;
double r44653 = sqrt(r44652);
double r44654 = r44653 / r44650;
double r44655 = /* ERROR: no complex support in C */;
double r44656 = r44655 * r44655;
double r44657 = r44656 * r44655;
double r44658 = r44657 * r44655;
double r44659 = -r44650;
double r44660 = 0.0;
double r44661 = /* ERROR: no complex support in C */;
double r44662 = r44661 * r44655;
double r44663 = r44662 * r44655;
double r44664 = r44663 * r44655;
double r44665 = r44658 + r44664;
double r44666 = 5.0;
double r44667 = /* ERROR: no complex support in C */;
double r44668 = r44667 * r44655;
double r44669 = r44668 * r44655;
double r44670 = r44665 + r44669;
double r44671 = 4.0;
double r44672 = /* ERROR: no complex support in C */;
double r44673 = r44672 * r44655;
double r44674 = r44670 + r44673;
double r44675 = 7.0;
double r44676 = /* ERROR: no complex support in C */;
double r44677 = r44674 + r44676;
double r44678 = /* ERROR: no complex support in C */;
return r44678;
}
Initial program 0
Final simplification0
herbie shell --seed 2020002
(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))))