\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 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 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 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0 i\right)\right))\Im(\left(\left(\left(\left(\frac{\sqrt{3}}{2} \cdot \left(\frac{\sqrt{3}}{-4} + \frac{\sqrt{3}}{-4}\right) + \frac{1}{4}\right) + \left(\frac{\sqrt{3}}{-4} + \frac{\sqrt{3}}{-4}\right) i\right) + \left(6 + -2 \cdot \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\left(\frac{\sqrt{3}}{2} \cdot \left(\frac{\sqrt{3}}{-4} + \frac{\sqrt{3}}{-4}\right) + \frac{1}{4}\right) + \left(\frac{\sqrt{3}}{-4} + \frac{\sqrt{3}}{-4}\right) i\right) + \left(5 + \frac{\sqrt{3} \cdot 4}{2} i\right)\right))double f() {
double r849673 = 1.0;
double r849674 = -r849673;
double r849675 = 2.0;
double r849676 = r849674 / r849675;
double r849677 = 3.0;
double r849678 = sqrt(r849677);
double r849679 = r849678 / r849675;
double r849680 = /* ERROR: no complex support in C */;
double r849681 = r849680 * r849680;
double r849682 = r849681 * r849680;
double r849683 = r849682 * r849680;
double r849684 = -r849675;
double r849685 = 0.0;
double r849686 = /* ERROR: no complex support in C */;
double r849687 = r849686 * r849680;
double r849688 = r849687 * r849680;
double r849689 = r849688 * r849680;
double r849690 = r849683 + r849689;
double r849691 = 5.0;
double r849692 = /* ERROR: no complex support in C */;
double r849693 = r849692 * r849680;
double r849694 = r849693 * r849680;
double r849695 = r849690 + r849694;
double r849696 = 4.0;
double r849697 = /* ERROR: no complex support in C */;
double r849698 = r849697 * r849680;
double r849699 = r849695 + r849698;
double r849700 = 7.0;
double r849701 = /* ERROR: no complex support in C */;
double r849702 = r849699 + r849701;
double r849703 = /* ERROR: no complex support in C */;
return r849703;
}
double f() {
double r849704 = 3.0;
double r849705 = sqrt(r849704);
double r849706 = 2.0;
double r849707 = r849705 / r849706;
double r849708 = -4.0;
double r849709 = r849705 / r849708;
double r849710 = r849709 + r849709;
double r849711 = r849707 * r849710;
double r849712 = 0.25;
double r849713 = r849711 + r849712;
double r849714 = /* ERROR: no complex support in C */;
double r849715 = 6.0;
double r849716 = -2.0;
double r849717 = r849716 * r849707;
double r849718 = /* ERROR: no complex support in C */;
double r849719 = r849714 + r849718;
double r849720 = r849719 * r849714;
double r849721 = 5.0;
double r849722 = 4.0;
double r849723 = r849705 * r849722;
double r849724 = r849723 / r849706;
double r849725 = /* ERROR: no complex support in C */;
double r849726 = r849720 + r849725;
double r849727 = /* ERROR: no complex support in C */;
return r849727;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019152 +o rules:numerics
(FPCore ()
:name "3.9.2 imaginary part (p56)"
(im (+.c (+.c (+.c (+.c (*.c (*.c (*.c (complex (/ (- 1) 2) (/ (sqrt 3) 2)) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (*.c (*.c (*.c (complex (- 2) 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (*.c (*.c (complex 5 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (*.c (complex 4 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (complex 7 0))))