\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 r29678 = 1.0;
double r29679 = -r29678;
double r29680 = 2.0;
double r29681 = r29679 / r29680;
double r29682 = 3.0;
double r29683 = sqrt(r29682);
double r29684 = r29683 / r29680;
double r29685 = /* ERROR: no complex support in C */;
double r29686 = r29685 * r29685;
double r29687 = r29686 * r29685;
double r29688 = r29687 * r29685;
double r29689 = -r29680;
double r29690 = 0.0;
double r29691 = /* ERROR: no complex support in C */;
double r29692 = r29691 * r29685;
double r29693 = r29692 * r29685;
double r29694 = r29693 * r29685;
double r29695 = r29688 + r29694;
double r29696 = 5.0;
double r29697 = /* ERROR: no complex support in C */;
double r29698 = r29697 * r29685;
double r29699 = r29698 * r29685;
double r29700 = r29695 + r29699;
double r29701 = 4.0;
double r29702 = /* ERROR: no complex support in C */;
double r29703 = r29702 * r29685;
double r29704 = r29700 + r29703;
double r29705 = 7.0;
double r29706 = /* ERROR: no complex support in C */;
double r29707 = r29704 + r29706;
double r29708 = /* ERROR: no complex support in C */;
return r29708;
}
double f() {
double r29709 = 1.0;
double r29710 = -r29709;
double r29711 = 2.0;
double r29712 = r29710 / r29711;
double r29713 = 3.0;
double r29714 = sqrt(r29713);
double r29715 = r29714 / r29711;
double r29716 = /* ERROR: no complex support in C */;
double r29717 = r29716 * r29716;
double r29718 = r29717 * r29716;
double r29719 = r29718 * r29716;
double r29720 = -r29711;
double r29721 = 0.0;
double r29722 = /* ERROR: no complex support in C */;
double r29723 = r29722 * r29716;
double r29724 = r29723 * r29716;
double r29725 = r29724 * r29716;
double r29726 = r29719 + r29725;
double r29727 = 5.0;
double r29728 = /* ERROR: no complex support in C */;
double r29729 = r29728 * r29716;
double r29730 = r29729 * r29716;
double r29731 = r29726 + r29730;
double r29732 = 4.0;
double r29733 = /* ERROR: no complex support in C */;
double r29734 = r29733 * r29716;
double r29735 = r29731 + r29734;
double r29736 = 7.0;
double r29737 = /* ERROR: no complex support in C */;
double r29738 = r29735 + r29737;
double r29739 = /* ERROR: no complex support in C */;
return r29739;
}
Initial program 61.9
Final simplification61.9
herbie shell --seed 2020027 +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))))