\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 r36698 = 1.0;
double r36699 = -r36698;
double r36700 = 2.0;
double r36701 = r36699 / r36700;
double r36702 = 3.0;
double r36703 = sqrt(r36702);
double r36704 = r36703 / r36700;
double r36705 = /* ERROR: no complex support in C */;
double r36706 = r36705 * r36705;
double r36707 = r36706 * r36705;
double r36708 = r36707 * r36705;
double r36709 = -r36700;
double r36710 = 0.0;
double r36711 = /* ERROR: no complex support in C */;
double r36712 = r36711 * r36705;
double r36713 = r36712 * r36705;
double r36714 = r36713 * r36705;
double r36715 = r36708 + r36714;
double r36716 = 5.0;
double r36717 = /* ERROR: no complex support in C */;
double r36718 = r36717 * r36705;
double r36719 = r36718 * r36705;
double r36720 = r36715 + r36719;
double r36721 = 4.0;
double r36722 = /* ERROR: no complex support in C */;
double r36723 = r36722 * r36705;
double r36724 = r36720 + r36723;
double r36725 = 7.0;
double r36726 = /* ERROR: no complex support in C */;
double r36727 = r36724 + r36726;
double r36728 = /* ERROR: no complex support in C */;
return r36728;
}
double f() {
double r36729 = 1.0;
double r36730 = -r36729;
double r36731 = 2.0;
double r36732 = r36730 / r36731;
double r36733 = 3.0;
double r36734 = sqrt(r36733);
double r36735 = r36734 / r36731;
double r36736 = /* ERROR: no complex support in C */;
double r36737 = r36736 * r36736;
double r36738 = r36737 * r36736;
double r36739 = r36738 * r36736;
double r36740 = -r36731;
double r36741 = 0.0;
double r36742 = /* ERROR: no complex support in C */;
double r36743 = r36742 * r36736;
double r36744 = r36743 * r36736;
double r36745 = r36744 * r36736;
double r36746 = r36739 + r36745;
double r36747 = 5.0;
double r36748 = /* ERROR: no complex support in C */;
double r36749 = r36748 * r36736;
double r36750 = r36749 * r36736;
double r36751 = r36746 + r36750;
double r36752 = 4.0;
double r36753 = /* ERROR: no complex support in C */;
double r36754 = r36753 * r36736;
double r36755 = r36751 + r36754;
double r36756 = 7.0;
double r36757 = /* ERROR: no complex support in C */;
double r36758 = r36755 + r36757;
double r36759 = /* ERROR: no complex support in C */;
return r36759;
}
Initial program 0
Final simplification0
herbie shell --seed 2019353 +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))))