Shouldn't Real.isFinite be handled in native code? Since you have to store the floating point number in memory any way the cost probably isn't horrible, but still it seems a bit strange.