\Im(\left(\left(\left(\left(\left(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(\left(\left(\left(\left(-2\right) + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(\left(5 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(4 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0.0 i\right)\right))\Im(\left(\left(\left(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\left(-2\right) + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right)\right)\right) + \left(\left(\left(5 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(4 + 0.0 i\right)\right)\right) + \left(7 + 0.0 i\right)\right))double f() {
double r30170 = 1.0;
double r30171 = -r30170;
double r30172 = 2.0;
double r30173 = r30171 / r30172;
double r30174 = 3.0;
double r30175 = sqrt(r30174);
double r30176 = r30175 / r30172;
double r30177 = /* ERROR: no complex support in C */;
double r30178 = r30177 * r30177;
double r30179 = r30178 * r30177;
double r30180 = r30179 * r30177;
double r30181 = -r30172;
double r30182 = 0.0;
double r30183 = /* ERROR: no complex support in C */;
double r30184 = r30183 * r30177;
double r30185 = r30184 * r30177;
double r30186 = r30185 * r30177;
double r30187 = r30180 + r30186;
double r30188 = 5.0;
double r30189 = /* ERROR: no complex support in C */;
double r30190 = r30189 * r30177;
double r30191 = r30190 * r30177;
double r30192 = r30187 + r30191;
double r30193 = 4.0;
double r30194 = /* ERROR: no complex support in C */;
double r30195 = r30194 * r30177;
double r30196 = r30192 + r30195;
double r30197 = 7.0;
double r30198 = /* ERROR: no complex support in C */;
double r30199 = r30196 + r30198;
double r30200 = /* ERROR: no complex support in C */;
return r30200;
}
double f() {
double r30201 = 1.0;
double r30202 = -r30201;
double r30203 = 2.0;
double r30204 = r30202 / r30203;
double r30205 = 3.0;
double r30206 = sqrt(r30205);
double r30207 = r30206 / r30203;
double r30208 = /* ERROR: no complex support in C */;
double r30209 = r30208 * r30208;
double r30210 = r30209 * r30208;
double r30211 = r30208 * r30210;
double r30212 = -r30203;
double r30213 = 0.0;
double r30214 = /* ERROR: no complex support in C */;
double r30215 = r30214 * r30208;
double r30216 = r30208 * r30215;
double r30217 = r30208 * r30216;
double r30218 = r30211 + r30217;
double r30219 = 5.0;
double r30220 = /* ERROR: no complex support in C */;
double r30221 = r30220 * r30208;
double r30222 = r30221 * r30208;
double r30223 = r30218 + r30222;
double r30224 = 4.0;
double r30225 = /* ERROR: no complex support in C */;
double r30226 = r30208 * r30225;
double r30227 = r30223 + r30226;
double r30228 = 7.0;
double r30229 = /* ERROR: no complex support in C */;
double r30230 = r30227 + r30229;
double r30231 = /* ERROR: no complex support in C */;
return r30231;
}
Initial program 0
Final simplification0
herbie shell --seed 2019179
(FPCore ()
:name "3.9.2 imaginary part (p56)"
(im (+ (+ (+ (+ (* (* (* (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (* (* (* (complex (- 2.0) 0.0) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)))) (* (* (complex 5.0 0.0) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)))) (* (complex 4.0 0.0) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)))) (complex 7.0 0.0))))