\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 r30999 = -1.0;
double r31000 = 1.0;
double r31001 = /* ERROR: no complex support in C */;
double r31002 = r31001 * r31001;
double r31003 = r31002 * r31001;
double r31004 = r31003 * r31001;
double r31005 = r31004 * r31001;
double r31006 = r31005 * r31001;
double r31007 = 6.0;
double r31008 = 0.0;
double r31009 = /* ERROR: no complex support in C */;
double r31010 = r31009 * r31001;
double r31011 = r31010 * r31001;
double r31012 = r31011 * r31001;
double r31013 = r31012 * r31001;
double r31014 = r31013 * r31001;
double r31015 = r31006 + r31014;
double r31016 = 15.0;
double r31017 = /* ERROR: no complex support in C */;
double r31018 = r31017 * r31001;
double r31019 = r31018 * r31001;
double r31020 = r31019 * r31001;
double r31021 = r31020 * r31001;
double r31022 = r31015 + r31021;
double r31023 = 20.0;
double r31024 = /* ERROR: no complex support in C */;
double r31025 = r31024 * r31001;
double r31026 = r31025 * r31001;
double r31027 = r31026 * r31001;
double r31028 = r31022 + r31027;
double r31029 = r31028 + r31019;
double r31030 = r31029 + r31010;
double r31031 = /* ERROR: no complex support in C */;
double r31032 = r31030 + r31031;
double r31033 = /* ERROR: no complex support in C */;
return r31033;
}
double f() {
double r31034 = -1.0;
double r31035 = 1.0;
double r31036 = /* ERROR: no complex support in C */;
double r31037 = r31036 * r31036;
double r31038 = 15.0;
double r31039 = 0.0;
double r31040 = /* ERROR: no complex support in C */;
double r31041 = r31040 * r31036;
double r31042 = 6.0;
double r31043 = /* ERROR: no complex support in C */;
double r31044 = r31036 + r31043;
double r31045 = r31037 * r31044;
double r31046 = r31041 + r31045;
double r31047 = r31037 * r31046;
double r31048 = r31036 * r31047;
double r31049 = 20.0;
double r31050 = /* ERROR: no complex support in C */;
double r31051 = r31050 * r31036;
double r31052 = r31051 + r31040;
double r31053 = r31036 * r31052;
double r31054 = r31053 + r31043;
double r31055 = r31036 * r31054;
double r31056 = r31048 + r31055;
double r31057 = /* ERROR: no complex support in C */;
double r31058 = r31056 + r31057;
double r31059 = /* ERROR: no complex support in C */;
return r31059;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019323 +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))))