1double
2g0 (double x)
3{
4  return 1.0;
5}
6
7double
8g1 (double x)
9{
10  return -1.0;
11}
12
13double
14g2 (double x)
15{
16  return 0.0;
17}
18
19__complex__ double
20cexp (__complex__ double x)
21{
22  double r;
23
24  r = g0 (__real__ x);
25  __real__ x = r * g1 (__imag__ x);
26  __imag__ x = r * g2 (__imag__ x);
27  return x;
28}
29
30main ()
31{
32  __complex__ double x;
33
34  x = cexp (1.0i);
35  if (__real__ x != -1.0)
36    abort ();
37  if (__imag__ x != 0.0)
38    abort ();
39  exit (0);
40}
41