\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 r23069 = -1.0;
double r23070 = 1.0;
double r23071 = /* ERROR: no complex support in C */;
double r23072 = r23071 * r23071;
double r23073 = r23072 * r23071;
double r23074 = r23073 * r23071;
double r23075 = r23074 * r23071;
double r23076 = r23075 * r23071;
double r23077 = 6.0;
double r23078 = 0.0;
double r23079 = /* ERROR: no complex support in C */;
double r23080 = r23079 * r23071;
double r23081 = r23080 * r23071;
double r23082 = r23081 * r23071;
double r23083 = r23082 * r23071;
double r23084 = r23083 * r23071;
double r23085 = r23076 + r23084;
double r23086 = 15.0;
double r23087 = /* ERROR: no complex support in C */;
double r23088 = r23087 * r23071;
double r23089 = r23088 * r23071;
double r23090 = r23089 * r23071;
double r23091 = r23090 * r23071;
double r23092 = r23085 + r23091;
double r23093 = 20.0;
double r23094 = /* ERROR: no complex support in C */;
double r23095 = r23094 * r23071;
double r23096 = r23095 * r23071;
double r23097 = r23096 * r23071;
double r23098 = r23092 + r23097;
double r23099 = r23098 + r23089;
double r23100 = r23099 + r23080;
double r23101 = /* ERROR: no complex support in C */;
double r23102 = r23100 + r23101;
double r23103 = /* ERROR: no complex support in C */;
return r23103;
}
double f() {
double r23104 = -1.0;
double r23105 = 1.0;
double r23106 = /* ERROR: no complex support in C */;
double r23107 = r23106 * r23106;
double r23108 = 15.0;
double r23109 = 0.0;
double r23110 = /* ERROR: no complex support in C */;
double r23111 = r23110 * r23106;
double r23112 = 6.0;
double r23113 = /* ERROR: no complex support in C */;
double r23114 = r23106 + r23113;
double r23115 = r23107 * r23114;
double r23116 = r23111 + r23115;
double r23117 = r23107 * r23116;
double r23118 = r23106 * r23117;
double r23119 = 20.0;
double r23120 = /* ERROR: no complex support in C */;
double r23121 = r23120 * r23106;
double r23122 = r23121 + r23110;
double r23123 = r23106 * r23122;
double r23124 = r23123 + r23113;
double r23125 = r23106 * r23124;
double r23126 = r23118 + r23125;
double r23127 = /* ERROR: no complex support in C */;
double r23128 = r23126 + r23127;
double r23129 = /* ERROR: no complex support in C */;
return r23129;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019350 +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))))