\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 r34635 = 1.0;
double r34636 = -r34635;
double r34637 = 2.0;
double r34638 = r34636 / r34637;
double r34639 = 3.0;
double r34640 = sqrt(r34639);
double r34641 = r34640 / r34637;
double r34642 = /* ERROR: no complex support in C */;
double r34643 = r34642 * r34642;
double r34644 = r34643 * r34642;
double r34645 = r34644 * r34642;
double r34646 = -r34637;
double r34647 = 0.0;
double r34648 = /* ERROR: no complex support in C */;
double r34649 = r34648 * r34642;
double r34650 = r34649 * r34642;
double r34651 = r34650 * r34642;
double r34652 = r34645 + r34651;
double r34653 = 5.0;
double r34654 = /* ERROR: no complex support in C */;
double r34655 = r34654 * r34642;
double r34656 = r34655 * r34642;
double r34657 = r34652 + r34656;
double r34658 = 4.0;
double r34659 = /* ERROR: no complex support in C */;
double r34660 = r34659 * r34642;
double r34661 = r34657 + r34660;
double r34662 = 7.0;
double r34663 = /* ERROR: no complex support in C */;
double r34664 = r34661 + r34663;
double r34665 = /* ERROR: no complex support in C */;
return r34665;
}
double f() {
double r34666 = 1.0;
double r34667 = -r34666;
double r34668 = 2.0;
double r34669 = r34667 / r34668;
double r34670 = 3.0;
double r34671 = sqrt(r34670);
double r34672 = r34671 / r34668;
double r34673 = /* ERROR: no complex support in C */;
double r34674 = r34673 * r34673;
double r34675 = r34674 * r34673;
double r34676 = r34675 * r34673;
double r34677 = -r34668;
double r34678 = 0.0;
double r34679 = /* ERROR: no complex support in C */;
double r34680 = r34679 * r34673;
double r34681 = r34680 * r34673;
double r34682 = r34681 * r34673;
double r34683 = r34676 + r34682;
double r34684 = 5.0;
double r34685 = /* ERROR: no complex support in C */;
double r34686 = r34685 * r34673;
double r34687 = r34686 * r34673;
double r34688 = r34683 + r34687;
double r34689 = 4.0;
double r34690 = /* ERROR: no complex support in C */;
double r34691 = r34690 * r34673;
double r34692 = r34688 + r34691;
double r34693 = 7.0;
double r34694 = /* ERROR: no complex support in C */;
double r34695 = r34692 + r34694;
double r34696 = /* ERROR: no complex support in C */;
return r34696;
}
Initial program 61.9
Final simplification61.9
herbie shell --seed 2020089 +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))))