\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 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 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 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0 i\right)\right))\Im(\left(\left(\frac{11}{2} + \left(\frac{\sqrt{3}}{-2} + \frac{\sqrt{3}}{-1}\right) i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{-2} i\right) + \left(5 + \sqrt{3} \cdot 2 i\right)\right))double f() {
double r340148 = 1.0;
double r340149 = -r340148;
double r340150 = 2.0;
double r340151 = r340149 / r340150;
double r340152 = 3.0;
double r340153 = sqrt(r340152);
double r340154 = r340153 / r340150;
double r340155 = /* ERROR: no complex support in C */;
double r340156 = r340155 * r340155;
double r340157 = r340156 * r340155;
double r340158 = r340157 * r340155;
double r340159 = -r340150;
double r340160 = 0.0;
double r340161 = /* ERROR: no complex support in C */;
double r340162 = r340161 * r340155;
double r340163 = r340162 * r340155;
double r340164 = r340163 * r340155;
double r340165 = r340158 + r340164;
double r340166 = 5.0;
double r340167 = /* ERROR: no complex support in C */;
double r340168 = r340167 * r340155;
double r340169 = r340168 * r340155;
double r340170 = r340165 + r340169;
double r340171 = 4.0;
double r340172 = /* ERROR: no complex support in C */;
double r340173 = r340172 * r340155;
double r340174 = r340170 + r340173;
double r340175 = 7.0;
double r340176 = /* ERROR: no complex support in C */;
double r340177 = r340174 + r340176;
double r340178 = /* ERROR: no complex support in C */;
return r340178;
}
double f() {
double r340179 = 5.5;
double r340180 = 3.0;
double r340181 = sqrt(r340180);
double r340182 = -2.0;
double r340183 = r340181 / r340182;
double r340184 = -1.0;
double r340185 = r340181 / r340184;
double r340186 = r340183 + r340185;
double r340187 = /* ERROR: no complex support in C */;
double r340188 = -0.5;
double r340189 = /* ERROR: no complex support in C */;
double r340190 = r340187 * r340189;
double r340191 = 5.0;
double r340192 = 2.0;
double r340193 = r340181 * r340192;
double r340194 = /* ERROR: no complex support in C */;
double r340195 = r340190 + r340194;
double r340196 = /* ERROR: no complex support in C */;
return r340196;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019139 +o rules:numerics
(FPCore ()
:name "3.9.2 imaginary part (p56)"
(im (+.c (+.c (+.c (+.c (*.c (*.c (*.c (complex (/ (- 1) 2) (/ (sqrt 3) 2)) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (*.c (*.c (*.c (complex (- 2) 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (*.c (*.c (complex 5 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (*.c (complex 4 0) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (complex 7 0))))