\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 r10081 = -1.0;
double r10082 = 1.0;
double r10083 = /* ERROR: no complex support in C */;
double r10084 = r10083 * r10083;
double r10085 = r10084 * r10083;
double r10086 = r10085 * r10083;
double r10087 = r10086 * r10083;
double r10088 = r10087 * r10083;
double r10089 = 6.0;
double r10090 = 0.0;
double r10091 = /* ERROR: no complex support in C */;
double r10092 = r10091 * r10083;
double r10093 = r10092 * r10083;
double r10094 = r10093 * r10083;
double r10095 = r10094 * r10083;
double r10096 = r10095 * r10083;
double r10097 = r10088 + r10096;
double r10098 = 15.0;
double r10099 = /* ERROR: no complex support in C */;
double r10100 = r10099 * r10083;
double r10101 = r10100 * r10083;
double r10102 = r10101 * r10083;
double r10103 = r10102 * r10083;
double r10104 = r10097 + r10103;
double r10105 = 20.0;
double r10106 = /* ERROR: no complex support in C */;
double r10107 = r10106 * r10083;
double r10108 = r10107 * r10083;
double r10109 = r10108 * r10083;
double r10110 = r10104 + r10109;
double r10111 = r10110 + r10101;
double r10112 = r10111 + r10092;
double r10113 = /* ERROR: no complex support in C */;
double r10114 = r10112 + r10113;
double r10115 = /* ERROR: no complex support in C */;
return r10115;
}
double f() {
double r10116 = -1.0;
double r10117 = 1.0;
double r10118 = /* ERROR: no complex support in C */;
double r10119 = r10118 * r10118;
double r10120 = 15.0;
double r10121 = 0.0;
double r10122 = /* ERROR: no complex support in C */;
double r10123 = r10122 * r10118;
double r10124 = 6.0;
double r10125 = /* ERROR: no complex support in C */;
double r10126 = r10118 + r10125;
double r10127 = r10119 * r10126;
double r10128 = r10123 + r10127;
double r10129 = r10119 * r10128;
double r10130 = r10118 * r10129;
double r10131 = 20.0;
double r10132 = /* ERROR: no complex support in C */;
double r10133 = r10132 * r10118;
double r10134 = r10133 + r10122;
double r10135 = r10118 * r10134;
double r10136 = r10135 + r10125;
double r10137 = r10118 * r10136;
double r10138 = r10130 + r10137;
double r10139 = /* ERROR: no complex support in C */;
double r10140 = r10138 + r10139;
double r10141 = /* ERROR: no complex support in C */;
return r10141;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019310 +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))))