\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(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(\left(\left(-1 + 1 i\right) \cdot \left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(20 + 0.0 i\right)\right)\right) + \left(\left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(\left(6 + 0.0 i\right) + \left(-1 + 1 i\right)\right)\right)\right)\right) + \left(\left(-1 + 1 i\right) \cdot \left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(6 + 0.0 i\right)\right)\right)\right) + \left(1 + 0.0 i\right)\right))
double f() {
double r34024 = -1.0;
double r34025 = 1.0;
double r34026 = /* ERROR: no complex support in C */;
double r34027 = r34026 * r34026;
double r34028 = r34027 * r34026;
double r34029 = r34028 * r34026;
double r34030 = r34029 * r34026;
double r34031 = r34030 * r34026;
double r34032 = 6.0;
double r34033 = 0.0;
double r34034 = /* ERROR: no complex support in C */;
double r34035 = r34034 * r34026;
double r34036 = r34035 * r34026;
double r34037 = r34036 * r34026;
double r34038 = r34037 * r34026;
double r34039 = r34038 * r34026;
double r34040 = r34031 + r34039;
double r34041 = 15.0;
double r34042 = /* ERROR: no complex support in C */;
double r34043 = r34042 * r34026;
double r34044 = r34043 * r34026;
double r34045 = r34044 * r34026;
double r34046 = r34045 * r34026;
double r34047 = r34040 + r34046;
double r34048 = 20.0;
double r34049 = /* ERROR: no complex support in C */;
double r34050 = r34049 * r34026;
double r34051 = r34050 * r34026;
double r34052 = r34051 * r34026;
double r34053 = r34047 + r34052;
double r34054 = r34053 + r34044;
double r34055 = r34054 + r34035;
double r34056 = /* ERROR: no complex support in C */;
double r34057 = r34055 + r34056;
double r34058 = /* ERROR: no complex support in C */;
return r34058;
}
double f() {
double r34059 = -1.0;
double r34060 = 1.0;
double r34061 = /* ERROR: no complex support in C */;
double r34062 = r34061 * r34061;
double r34063 = 15.0;
double r34064 = 0.0;
double r34065 = /* ERROR: no complex support in C */;
double r34066 = r34065 * r34061;
double r34067 = 20.0;
double r34068 = /* ERROR: no complex support in C */;
double r34069 = r34066 + r34068;
double r34070 = r34061 * r34069;
double r34071 = r34062 * r34061;
double r34072 = 6.0;
double r34073 = /* ERROR: no complex support in C */;
double r34074 = r34073 + r34061;
double r34075 = r34071 * r34074;
double r34076 = r34070 + r34075;
double r34077 = r34062 * r34076;
double r34078 = r34066 + r34073;
double r34079 = r34061 * r34078;
double r34080 = r34077 + r34079;
double r34081 = /* ERROR: no complex support in C */;
double r34082 = r34080 + r34081;
double r34083 = /* ERROR: no complex support in C */;
return r34083;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019208 +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))))