\Re(\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))\Re(\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 r36707 = 1.0;
double r36708 = -r36707;
double r36709 = 2.0;
double r36710 = r36708 / r36709;
double r36711 = 3.0;
double r36712 = sqrt(r36711);
double r36713 = r36712 / r36709;
double r36714 = /* ERROR: no complex support in C */;
double r36715 = r36714 * r36714;
double r36716 = r36715 * r36714;
double r36717 = r36716 * r36714;
double r36718 = -r36709;
double r36719 = 0.0;
double r36720 = /* ERROR: no complex support in C */;
double r36721 = r36720 * r36714;
double r36722 = r36721 * r36714;
double r36723 = r36722 * r36714;
double r36724 = r36717 + r36723;
double r36725 = 5.0;
double r36726 = /* ERROR: no complex support in C */;
double r36727 = r36726 * r36714;
double r36728 = r36727 * r36714;
double r36729 = r36724 + r36728;
double r36730 = 4.0;
double r36731 = /* ERROR: no complex support in C */;
double r36732 = r36731 * r36714;
double r36733 = r36729 + r36732;
double r36734 = 7.0;
double r36735 = /* ERROR: no complex support in C */;
double r36736 = r36733 + r36735;
double r36737 = /* ERROR: no complex support in C */;
return r36737;
}
double f() {
double r36738 = 1.0;
double r36739 = -r36738;
double r36740 = 2.0;
double r36741 = r36739 / r36740;
double r36742 = 3.0;
double r36743 = sqrt(r36742);
double r36744 = r36743 / r36740;
double r36745 = /* ERROR: no complex support in C */;
double r36746 = r36745 * r36745;
double r36747 = r36746 * r36745;
double r36748 = r36747 * r36745;
double r36749 = -r36740;
double r36750 = 0.0;
double r36751 = /* ERROR: no complex support in C */;
double r36752 = r36751 * r36745;
double r36753 = r36752 * r36745;
double r36754 = r36753 * r36745;
double r36755 = r36748 + r36754;
double r36756 = 5.0;
double r36757 = /* ERROR: no complex support in C */;
double r36758 = r36757 * r36745;
double r36759 = r36758 * r36745;
double r36760 = r36755 + r36759;
double r36761 = 4.0;
double r36762 = /* ERROR: no complex support in C */;
double r36763 = r36762 * r36745;
double r36764 = r36760 + r36763;
double r36765 = 7.0;
double r36766 = /* ERROR: no complex support in C */;
double r36767 = r36764 + r36766;
double r36768 = /* ERROR: no complex support in C */;
return r36768;
}
Initial program 61.9
Final simplification61.9
herbie shell --seed 2020024 +o rules:numerics
(FPCore ()
:name "3.9.2 real part (p56)"
:precision binary64
(re (+ (+ (+ (+ (* (* (* (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))))