\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 r26668 = 1.0;
double r26669 = -r26668;
double r26670 = 2.0;
double r26671 = r26669 / r26670;
double r26672 = 3.0;
double r26673 = sqrt(r26672);
double r26674 = r26673 / r26670;
double r26675 = /* ERROR: no complex support in C */;
double r26676 = r26675 * r26675;
double r26677 = r26676 * r26675;
double r26678 = r26677 * r26675;
double r26679 = -r26670;
double r26680 = 0.0;
double r26681 = /* ERROR: no complex support in C */;
double r26682 = r26681 * r26675;
double r26683 = r26682 * r26675;
double r26684 = r26683 * r26675;
double r26685 = r26678 + r26684;
double r26686 = 5.0;
double r26687 = /* ERROR: no complex support in C */;
double r26688 = r26687 * r26675;
double r26689 = r26688 * r26675;
double r26690 = r26685 + r26689;
double r26691 = 4.0;
double r26692 = /* ERROR: no complex support in C */;
double r26693 = r26692 * r26675;
double r26694 = r26690 + r26693;
double r26695 = 7.0;
double r26696 = /* ERROR: no complex support in C */;
double r26697 = r26694 + r26696;
double r26698 = /* ERROR: no complex support in C */;
return r26698;
}
double f() {
double r26699 = 1.0;
double r26700 = -r26699;
double r26701 = 2.0;
double r26702 = r26700 / r26701;
double r26703 = 3.0;
double r26704 = sqrt(r26703);
double r26705 = r26704 / r26701;
double r26706 = /* ERROR: no complex support in C */;
double r26707 = r26706 * r26706;
double r26708 = r26707 * r26706;
double r26709 = r26708 * r26706;
double r26710 = -r26701;
double r26711 = 0.0;
double r26712 = /* ERROR: no complex support in C */;
double r26713 = r26712 * r26706;
double r26714 = r26713 * r26706;
double r26715 = r26714 * r26706;
double r26716 = r26709 + r26715;
double r26717 = 5.0;
double r26718 = /* ERROR: no complex support in C */;
double r26719 = r26718 * r26706;
double r26720 = r26719 * r26706;
double r26721 = r26716 + r26720;
double r26722 = 4.0;
double r26723 = /* ERROR: no complex support in C */;
double r26724 = r26723 * r26706;
double r26725 = r26721 + r26724;
double r26726 = 7.0;
double r26727 = /* ERROR: no complex support in C */;
double r26728 = r26725 + r26727;
double r26729 = /* ERROR: no complex support in C */;
return r26729;
}
Initial program 0
Final simplification0
herbie shell --seed 2019212 +o rules:numerics
(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))))