\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(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(5 + 0.0 i\right) + \left(\left(\left(\frac{-1}{2} - 2\right) + \left(\frac{\sqrt{3}}{2} + 0.0\right) i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right)\right) + \left(4 + 0.0 i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(7 + 0.0 i\right)\right))double f() {
double r34657 = 1.0;
double r34658 = -r34657;
double r34659 = 2.0;
double r34660 = r34658 / r34659;
double r34661 = 3.0;
double r34662 = sqrt(r34661);
double r34663 = r34662 / r34659;
double r34664 = /* ERROR: no complex support in C */;
double r34665 = r34664 * r34664;
double r34666 = r34665 * r34664;
double r34667 = r34666 * r34664;
double r34668 = -r34659;
double r34669 = 0.0;
double r34670 = /* ERROR: no complex support in C */;
double r34671 = r34670 * r34664;
double r34672 = r34671 * r34664;
double r34673 = r34672 * r34664;
double r34674 = r34667 + r34673;
double r34675 = 5.0;
double r34676 = /* ERROR: no complex support in C */;
double r34677 = r34676 * r34664;
double r34678 = r34677 * r34664;
double r34679 = r34674 + r34678;
double r34680 = 4.0;
double r34681 = /* ERROR: no complex support in C */;
double r34682 = r34681 * r34664;
double r34683 = r34679 + r34682;
double r34684 = 7.0;
double r34685 = /* ERROR: no complex support in C */;
double r34686 = r34683 + r34685;
double r34687 = /* ERROR: no complex support in C */;
return r34687;
}
double f() {
double r34688 = 1.0;
double r34689 = -r34688;
double r34690 = 2.0;
double r34691 = r34689 / r34690;
double r34692 = 3.0;
double r34693 = sqrt(r34692);
double r34694 = r34693 / r34690;
double r34695 = /* ERROR: no complex support in C */;
double r34696 = 5.0;
double r34697 = 0.0;
double r34698 = /* ERROR: no complex support in C */;
double r34699 = r34691 - r34690;
double r34700 = r34694 + r34697;
double r34701 = /* ERROR: no complex support in C */;
double r34702 = r34701 * r34695;
double r34703 = r34698 + r34702;
double r34704 = r34695 * r34703;
double r34705 = 4.0;
double r34706 = /* ERROR: no complex support in C */;
double r34707 = r34704 + r34706;
double r34708 = r34707 * r34695;
double r34709 = 7.0;
double r34710 = /* ERROR: no complex support in C */;
double r34711 = r34708 + r34710;
double r34712 = /* ERROR: no complex support in C */;
return r34712;
}
Initial program 61.9
Simplified0
Final simplification0
herbie shell --seed 2020045 +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))))