\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 r4384692 = 1.0;
double r4384693 = -r4384692;
double r4384694 = 2.0;
double r4384695 = r4384693 / r4384694;
double r4384696 = 3.0;
double r4384697 = sqrt(r4384696);
double r4384698 = r4384697 / r4384694;
double r4384699 = /* ERROR: no complex support in C */;
double r4384700 = r4384699 * r4384699;
double r4384701 = r4384700 * r4384699;
double r4384702 = r4384701 * r4384699;
double r4384703 = -r4384694;
double r4384704 = 0.0;
double r4384705 = /* ERROR: no complex support in C */;
double r4384706 = r4384705 * r4384699;
double r4384707 = r4384706 * r4384699;
double r4384708 = r4384707 * r4384699;
double r4384709 = r4384702 + r4384708;
double r4384710 = 5.0;
double r4384711 = /* ERROR: no complex support in C */;
double r4384712 = r4384711 * r4384699;
double r4384713 = r4384712 * r4384699;
double r4384714 = r4384709 + r4384713;
double r4384715 = 4.0;
double r4384716 = /* ERROR: no complex support in C */;
double r4384717 = r4384716 * r4384699;
double r4384718 = r4384714 + r4384717;
double r4384719 = 7.0;
double r4384720 = /* ERROR: no complex support in C */;
double r4384721 = r4384718 + r4384720;
double r4384722 = /* ERROR: no complex support in C */;
return r4384722;
}
double f() {
double r4384723 = 1.0;
double r4384724 = -r4384723;
double r4384725 = 2.0;
double r4384726 = r4384724 / r4384725;
double r4384727 = 3.0;
double r4384728 = sqrt(r4384727);
double r4384729 = r4384728 / r4384725;
double r4384730 = /* ERROR: no complex support in C */;
double r4384731 = r4384730 * r4384730;
double r4384732 = r4384731 * r4384730;
double r4384733 = r4384732 * r4384730;
double r4384734 = -r4384725;
double r4384735 = 0.0;
double r4384736 = /* ERROR: no complex support in C */;
double r4384737 = r4384736 * r4384730;
double r4384738 = r4384737 * r4384730;
double r4384739 = r4384738 * r4384730;
double r4384740 = r4384733 + r4384739;
double r4384741 = 5.0;
double r4384742 = /* ERROR: no complex support in C */;
double r4384743 = r4384742 * r4384730;
double r4384744 = r4384743 * r4384730;
double r4384745 = r4384740 + r4384744;
double r4384746 = 4.0;
double r4384747 = /* ERROR: no complex support in C */;
double r4384748 = r4384747 * r4384730;
double r4384749 = r4384745 + r4384748;
double r4384750 = 7.0;
double r4384751 = /* ERROR: no complex support in C */;
double r4384752 = r4384749 + r4384751;
double r4384753 = /* ERROR: no complex support in C */;
return r4384753;
}
Initial program 0
Final simplification0
herbie shell --seed 2019173 +o rules:numerics
(FPCore ()
:name "3.9.2 imaginary part (p56)"
(im (+ (+ (+ (+ (* (* (* (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (* (* (* (complex (- 2.0) 0.0) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)))) (* (* (complex 5.0 0.0) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)))) (* (complex 4.0 0.0) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)))) (complex 7.0 0.0))))