/*
Check whether NaN ** 0 == 1.
*/
#ifdef __MINGW32__
#ifndef __USE_MINGW_ANSI_STDIO
#define __USE_MINGW_ANSI_STDIO 1
#endif
#endif
#include <stdio.h>
#include <math.h>
int main(void) {
long double check, rop, op3, op1 = 1.0L, op2 = 0.0L;
#if !defined(NANL_IS_UNAVAILABLE)
rop = nanl("0");
#else
op3 = op1 / op2;
rop = (op3) / (op1/op2);
#endif
if(rop == rop) printf("rop should be NaN but rop == rop\n");
else {
rop /= 2.1L;
check = powl(rop, op2 * 3.6L);
if(check == 1.0L) printf("1.0L\n");
else {
if(check != check) printf("NaN\n");
else printf("%Le\n", rop);
}
}
return 0;
}