+/* method math#Float#is_nan for (self: Float): Bool */
+short int math__Float__is_nan(double self) {
+short int var /* : Bool */;
+short int var1 /* : Bool */;
+var1 = isnan(self);
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method math#Float#is_nan for (self: Object): Bool */
+short int VIRTUAL_math__Float__is_nan(val* self) {
+short int var /* : Bool */;
+short int var1 /* : Bool */;
+double var2 /* : Float */;
+var2 = ((struct instance_kernel__Float*)self)->value; /* autounbox from Object to Float */;
+var1 = math__Float__is_nan(var2);
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method math#Float#is_inf for (self: Float): Int */
+long math__Float__is_inf(double self) {
+long var /* : Int */;
+short int var1 /* : Bool */;
+double var2 /* : Float */;
+short int var3 /* : Bool */;
+short int var5 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+short int var6 /* : Bool */;
+long var7 /* : Int */;
+long var8 /* : Int */;
+long var10 /* : Int */;
+long var11 /* : Int */;
+long var12 /* : Int */;
+var1 = math__Float__is_inf_extern(self);
+if (var1){
+var2 = 0.0;
+{ /* Inline kernel#Float#< (self,var2) */
+/* Covariant cast for argument 0 (i) <var2:Float> isa OTHER */
+/* <var2:Float> isa OTHER */
+var5 = 1; /* easy <var2:Float> isa OTHER*/
+if (!var5) {
+var_class_name = type_kernel__Float.name;
+fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 233);
+show_backtrace(1);
+}
+var6 = self < var2;
+var3 = var6;
+goto RET_LABEL4;
+RET_LABEL4:(void)0;
+}
+if (var3){
+var7 = 1;
+{ /* Inline kernel#Int#unary - (var7) */
+var10 = -var7;
+var8 = var10;
+goto RET_LABEL9;
+RET_LABEL9:(void)0;
+}
+var = var8;
+goto RET_LABEL;
+} else {
+}
+var11 = 1;
+var = var11;
+goto RET_LABEL;
+} else {
+}
+var12 = 0;
+var = var12;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method math#Float#is_inf for (self: Object): Int */
+long VIRTUAL_math__Float__is_inf(val* self) {
+long var /* : Int */;
+long var1 /* : Int */;
+double var2 /* : Float */;
+var2 = ((struct instance_kernel__Float*)self)->value; /* autounbox from Object to Float */;
+var1 = math__Float__is_inf(var2);
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method math#Float#is_inf_extern for (self: Float): Bool */
+short int math__Float__is_inf_extern(double self) {
+short int var /* : Bool */;
+short int var1 /* : Bool */;
+var1 = isinf(self);
+var = var1;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method math#Float#is_inf_extern for (self: Object): Bool */
+short int VIRTUAL_math__Float__is_inf_extern(val* self) {
+short int var /* : Bool */;
+short int var1 /* : Bool */;
+double var2 /* : Float */;
+var2 = ((struct instance_kernel__Float*)self)->value; /* autounbox from Object to Float */;
+var1 = math__Float__is_inf_extern(var2);
+var = var1;
+RET_LABEL:;
+return var;
+}