\Im(\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))
\Im(\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))
double f() {
double r18101 = -1.0;
double r18102 = 1.0;
double r18103 = /* ERROR: no complex support in C */;
double r18104 = r18103 * r18103;
double r18105 = r18104 * r18103;
double r18106 = r18105 * r18103;
double r18107 = r18106 * r18103;
double r18108 = r18107 * r18103;
double r18109 = 6.0;
double r18110 = 0.0;
double r18111 = /* ERROR: no complex support in C */;
double r18112 = r18111 * r18103;
double r18113 = r18112 * r18103;
double r18114 = r18113 * r18103;
double r18115 = r18114 * r18103;
double r18116 = r18115 * r18103;
double r18117 = r18108 + r18116;
double r18118 = 15.0;
double r18119 = /* ERROR: no complex support in C */;
double r18120 = r18119 * r18103;
double r18121 = r18120 * r18103;
double r18122 = r18121 * r18103;
double r18123 = r18122 * r18103;
double r18124 = r18117 + r18123;
double r18125 = 20.0;
double r18126 = /* ERROR: no complex support in C */;
double r18127 = r18126 * r18103;
double r18128 = r18127 * r18103;
double r18129 = r18128 * r18103;
double r18130 = r18124 + r18129;
double r18131 = r18130 + r18121;
double r18132 = r18131 + r18112;
double r18133 = /* ERROR: no complex support in C */;
double r18134 = r18132 + r18133;
double r18135 = /* ERROR: no complex support in C */;
return r18135;
}
double f() {
double r18136 = -1.0;
double r18137 = 1.0;
double r18138 = /* ERROR: no complex support in C */;
double r18139 = r18138 * r18138;
double r18140 = r18139 * r18138;
double r18141 = r18140 * r18138;
double r18142 = r18141 * r18138;
double r18143 = r18142 * r18138;
double r18144 = 6.0;
double r18145 = 0.0;
double r18146 = /* ERROR: no complex support in C */;
double r18147 = r18146 * r18138;
double r18148 = r18147 * r18138;
double r18149 = r18148 * r18138;
double r18150 = r18149 * r18138;
double r18151 = r18150 * r18138;
double r18152 = r18143 + r18151;
double r18153 = 15.0;
double r18154 = /* ERROR: no complex support in C */;
double r18155 = r18154 * r18138;
double r18156 = r18155 * r18138;
double r18157 = r18156 * r18138;
double r18158 = r18157 * r18138;
double r18159 = r18152 + r18158;
double r18160 = 20.0;
double r18161 = /* ERROR: no complex support in C */;
double r18162 = r18161 * r18138;
double r18163 = r18162 * r18138;
double r18164 = r18163 * r18138;
double r18165 = r18159 + r18164;
double r18166 = r18165 + r18156;
double r18167 = r18166 + r18147;
double r18168 = /* ERROR: no complex support in C */;
double r18169 = r18167 + r18168;
double r18170 = /* ERROR: no complex support in C */;
return r18170;
}
Initial program 0
Final simplification0
herbie shell --seed 2020056 +o rules:numerics
(FPCore ()
:name "3.9.1 imaginary part (p56)"
:precision binary64
(im (+ (+ (+ (+ (+ (+ (* (* (* (* (* (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))))