{: test that exp(y*ln(x)) causes a fatal error
   if x is zero and y is negative }

program d08j( output );

var
   x : real;
   y : real;

begin {d08j}

   x := 0;
   y := 1;

   y := -1;
   writeln( 'checking 0 ** -1, expecting to generate a fatal error' );
   writeln('exp(', y:1:2, 'ln(', x:1:2, ')) is ', exp(ln(x)*y)); {!!! exp overflows}

   writeln( 'fails: exp(y*ln(x)) 0 ** -1 error not detected' );
end. { d08j }

