strtold
strtold(const char * __restrict, char ** __restrict);
ld = strtold(buf, &end);
ald[3] = strtold("nan", NULL);
ald[1] = strtold(nan_str, &end);
*dp = strtold(*gargv, &ep);