\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(-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(\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)\right) + \left(\left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(1 + 0.0 i\right)\right)\right))
double f() {
double r30025 = -1.0;
double r30026 = 1.0;
double r30027 = /* ERROR: no complex support in C */;
double r30028 = r30027 * r30027;
double r30029 = r30028 * r30027;
double r30030 = r30029 * r30027;
double r30031 = r30030 * r30027;
double r30032 = r30031 * r30027;
double r30033 = 6.0;
double r30034 = 0.0;
double r30035 = /* ERROR: no complex support in C */;
double r30036 = r30035 * r30027;
double r30037 = r30036 * r30027;
double r30038 = r30037 * r30027;
double r30039 = r30038 * r30027;
double r30040 = r30039 * r30027;
double r30041 = r30032 + r30040;
double r30042 = 15.0;
double r30043 = /* ERROR: no complex support in C */;
double r30044 = r30043 * r30027;
double r30045 = r30044 * r30027;
double r30046 = r30045 * r30027;
double r30047 = r30046 * r30027;
double r30048 = r30041 + r30047;
double r30049 = 20.0;
double r30050 = /* ERROR: no complex support in C */;
double r30051 = r30050 * r30027;
double r30052 = r30051 * r30027;
double r30053 = r30052 * r30027;
double r30054 = r30048 + r30053;
double r30055 = r30054 + r30045;
double r30056 = r30055 + r30036;
double r30057 = /* ERROR: no complex support in C */;
double r30058 = r30056 + r30057;
double r30059 = /* ERROR: no complex support in C */;
return r30059;
}
double f() {
double r30060 = -1.0;
double r30061 = 1.0;
double r30062 = /* ERROR: no complex support in C */;
double r30063 = 20.0;
double r30064 = 0.0;
double r30065 = /* ERROR: no complex support in C */;
double r30066 = r30065 * r30062;
double r30067 = 15.0;
double r30068 = /* ERROR: no complex support in C */;
double r30069 = r30066 + r30068;
double r30070 = r30062 * r30069;
double r30071 = r30062 * r30062;
double r30072 = r30068 * r30062;
double r30073 = 6.0;
double r30074 = /* ERROR: no complex support in C */;
double r30075 = r30062 + r30074;
double r30076 = r30071 * r30075;
double r30077 = r30072 + r30076;
double r30078 = r30071 * r30077;
double r30079 = r30070 + r30078;
double r30080 = r30062 * r30079;
double r30081 = r30074 * r30062;
double r30082 = /* ERROR: no complex support in C */;
double r30083 = r30081 + r30082;
double r30084 = r30080 + r30083;
double r30085 = /* ERROR: no complex support in C */;
return r30085;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2020047
(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))))