#include <stdio.h>
#include <complex.h>
void bla(void);
#pragma opt 0 (bla,cpow)
void
bla() {
double complex x = 0 + 1*I;
double complex y = 0 + 1*I;
double complex z;
fprintf(stdout, "x={%E,%E} y={%E,%E}\n", x, y );
z = cpow(x,y);
fprintf(stdout, "z={%E,%E}\n", z);
}
int
main(int argc, char **argv) {
bla();
}
Try e.g. with 'cc -xO0 pow.c -lm' and 'cc -xmaxopt -xO5 pow.c -lm'