\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 r28720 = 1.0;
double r28721 = -r28720;
double r28722 = 2.0;
double r28723 = r28721 / r28722;
double r28724 = 3.0;
double r28725 = sqrt(r28724);
double r28726 = r28725 / r28722;
double r28727 = /* ERROR: no complex support in C */;
double r28728 = r28727 * r28727;
double r28729 = r28728 * r28727;
double r28730 = r28729 * r28727;
double r28731 = -r28722;
double r28732 = 0.0;
double r28733 = /* ERROR: no complex support in C */;
double r28734 = r28733 * r28727;
double r28735 = r28734 * r28727;
double r28736 = r28735 * r28727;
double r28737 = r28730 + r28736;
double r28738 = 5.0;
double r28739 = /* ERROR: no complex support in C */;
double r28740 = r28739 * r28727;
double r28741 = r28740 * r28727;
double r28742 = r28737 + r28741;
double r28743 = 4.0;
double r28744 = /* ERROR: no complex support in C */;
double r28745 = r28744 * r28727;
double r28746 = r28742 + r28745;
double r28747 = 7.0;
double r28748 = /* ERROR: no complex support in C */;
double r28749 = r28746 + r28748;
double r28750 = /* ERROR: no complex support in C */;
return r28750;
}
double f() {
double r28751 = 1.0;
double r28752 = -r28751;
double r28753 = 2.0;
double r28754 = r28752 / r28753;
double r28755 = 3.0;
double r28756 = sqrt(r28755);
double r28757 = r28756 / r28753;
double r28758 = /* ERROR: no complex support in C */;
double r28759 = r28758 * r28758;
double r28760 = r28759 * r28758;
double r28761 = r28760 * r28758;
double r28762 = -r28753;
double r28763 = 0.0;
double r28764 = /* ERROR: no complex support in C */;
double r28765 = r28764 * r28758;
double r28766 = r28765 * r28758;
double r28767 = r28766 * r28758;
double r28768 = r28761 + r28767;
double r28769 = 5.0;
double r28770 = /* ERROR: no complex support in C */;
double r28771 = r28770 * r28758;
double r28772 = r28771 * r28758;
double r28773 = r28768 + r28772;
double r28774 = 4.0;
double r28775 = /* ERROR: no complex support in C */;
double r28776 = r28775 * r28758;
double r28777 = r28773 + r28776;
double r28778 = 7.0;
double r28779 = /* ERROR: no complex support in C */;
double r28780 = r28777 + r28779;
double r28781 = /* ERROR: no complex support in C */;
return r28781;
}
Initial program 0
Final simplification0
herbie shell --seed 2020001
(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))))