with javascript_semantics constant inf = 1e300*1e300, -- (works on both 32 and 64 bit) ninf = -inf, nan = -(inf/inf), nzero = -1/inf -- (not supported) printf(1," inf: %f\n",{inf}) printf(1," ninf: %f\n",{ninf}) printf(1," nan: %f\n",{nan}) printf(1,"*nzero: %f\n",{nzero}) printf(1," inf+2: %f\n",{inf+2}) printf(1," inf+ninf: %f\n",{inf+ninf}) printf(1," 0*inf: %f\n",{0*inf}) printf(1," nan+1: %f\n",{nan+1}) printf(1," nan+nan: %f\n",{nan+nan}) printf(1," inf>1e300: %d\n",{inf>1e300}) printf(1," ninf<1e300: %d\n",{ninf<-1e300}) printf(1,"*nan=nan: %d\n",{nan=nan}) printf(1," nan=42: %d\n",{nan=42}) printf(1,"*nan<0: %d\n",{nan<0}) printf(1," nan>0: %d\n",{nan>0})