\Re(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(\left(\left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(\left(20 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(1 + 0.0 i\right)\right))
\Re(\left(\left(\left(\left(-1 + 1 i\right) \cdot \left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(\left(-1 + 1 i\right) + \left(6 + 0.0 i\right)\right)\right)\right)\right)\right) + \left(\left(-1 + 1 i\right) \cdot \left(\left(\left(-1 + 1 i\right) \cdot \left(\left(\left(20 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(15 + 0.0 i\right)\right)\right) + \left(6 + 0.0 i\right)\right)\right)\right) + \left(1 + 0.0 i\right)\right))
double f() {
double r20789 = -1.0;
double r20790 = 1.0;
double r20791 = /* ERROR: no complex support in C */;
double r20792 = r20791 * r20791;
double r20793 = r20792 * r20791;
double r20794 = r20793 * r20791;
double r20795 = r20794 * r20791;
double r20796 = r20795 * r20791;
double r20797 = 6.0;
double r20798 = 0.0;
double r20799 = /* ERROR: no complex support in C */;
double r20800 = r20799 * r20791;
double r20801 = r20800 * r20791;
double r20802 = r20801 * r20791;
double r20803 = r20802 * r20791;
double r20804 = r20803 * r20791;
double r20805 = r20796 + r20804;
double r20806 = 15.0;
double r20807 = /* ERROR: no complex support in C */;
double r20808 = r20807 * r20791;
double r20809 = r20808 * r20791;
double r20810 = r20809 * r20791;
double r20811 = r20810 * r20791;
double r20812 = r20805 + r20811;
double r20813 = 20.0;
double r20814 = /* ERROR: no complex support in C */;
double r20815 = r20814 * r20791;
double r20816 = r20815 * r20791;
double r20817 = r20816 * r20791;
double r20818 = r20812 + r20817;
double r20819 = r20818 + r20809;
double r20820 = r20819 + r20800;
double r20821 = /* ERROR: no complex support in C */;
double r20822 = r20820 + r20821;
double r20823 = /* ERROR: no complex support in C */;
return r20823;
}
double f() {
double r20824 = -1.0;
double r20825 = 1.0;
double r20826 = /* ERROR: no complex support in C */;
double r20827 = r20826 * r20826;
double r20828 = 15.0;
double r20829 = 0.0;
double r20830 = /* ERROR: no complex support in C */;
double r20831 = r20830 * r20826;
double r20832 = 6.0;
double r20833 = /* ERROR: no complex support in C */;
double r20834 = r20826 + r20833;
double r20835 = r20827 * r20834;
double r20836 = r20831 + r20835;
double r20837 = r20827 * r20836;
double r20838 = r20826 * r20837;
double r20839 = 20.0;
double r20840 = /* ERROR: no complex support in C */;
double r20841 = r20840 * r20826;
double r20842 = r20841 + r20830;
double r20843 = r20826 * r20842;
double r20844 = r20843 + r20833;
double r20845 = r20826 * r20844;
double r20846 = r20838 + r20845;
double r20847 = /* ERROR: no complex support in C */;
double r20848 = r20846 + r20847;
double r20849 = /* ERROR: no complex support in C */;
return r20849;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019322 +o rules:numerics
(FPCore ()
:name "3.9.1 real part (p56)"
:precision binary64
(re (+ (+ (+ (+ (+ (+ (* (* (* (* (* (complex -1 1) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (* (* (* (* (* (complex 6 0.0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (* (* (* (* (complex 15 0.0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (* (* (* (complex 20 0.0) (complex -1 1)) (complex -1 1)) (complex -1 1))) (* (* (complex 15 0.0) (complex -1 1)) (complex -1 1))) (* (complex 6 0.0) (complex -1 1))) (complex 1 0.0))))