\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 r18705 = 1.0;
double r18706 = -r18705;
double r18707 = 2.0;
double r18708 = r18706 / r18707;
double r18709 = 3.0;
double r18710 = sqrt(r18709);
double r18711 = r18710 / r18707;
double r18712 = /* ERROR: no complex support in C */;
double r18713 = r18712 * r18712;
double r18714 = r18713 * r18712;
double r18715 = r18714 * r18712;
double r18716 = -r18707;
double r18717 = 0.0;
double r18718 = /* ERROR: no complex support in C */;
double r18719 = r18718 * r18712;
double r18720 = r18719 * r18712;
double r18721 = r18720 * r18712;
double r18722 = r18715 + r18721;
double r18723 = 5.0;
double r18724 = /* ERROR: no complex support in C */;
double r18725 = r18724 * r18712;
double r18726 = r18725 * r18712;
double r18727 = r18722 + r18726;
double r18728 = 4.0;
double r18729 = /* ERROR: no complex support in C */;
double r18730 = r18729 * r18712;
double r18731 = r18727 + r18730;
double r18732 = 7.0;
double r18733 = /* ERROR: no complex support in C */;
double r18734 = r18731 + r18733;
double r18735 = /* ERROR: no complex support in C */;
return r18735;
}
double f() {
double r18736 = 1.0;
double r18737 = -r18736;
double r18738 = 2.0;
double r18739 = r18737 / r18738;
double r18740 = 3.0;
double r18741 = sqrt(r18740);
double r18742 = r18741 / r18738;
double r18743 = /* ERROR: no complex support in C */;
double r18744 = r18743 * r18743;
double r18745 = r18744 * r18743;
double r18746 = r18745 * r18743;
double r18747 = -r18738;
double r18748 = 0.0;
double r18749 = /* ERROR: no complex support in C */;
double r18750 = r18749 * r18743;
double r18751 = r18750 * r18743;
double r18752 = r18751 * r18743;
double r18753 = r18746 + r18752;
double r18754 = 5.0;
double r18755 = /* ERROR: no complex support in C */;
double r18756 = r18755 * r18743;
double r18757 = r18756 * r18743;
double r18758 = r18753 + r18757;
double r18759 = 4.0;
double r18760 = /* ERROR: no complex support in C */;
double r18761 = r18760 * r18743;
double r18762 = r18758 + r18761;
double r18763 = 7.0;
double r18764 = /* ERROR: no complex support in C */;
double r18765 = r18762 + r18764;
double r18766 = /* ERROR: no complex support in C */;
return r18766;
}
Initial program 61.9
Final simplification61.9
herbie shell --seed 2019352 +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))))