+#include <mono/metadata/exception.h>\r
+\r
+#ifndef NAN\r
+# if G_BYTE_ORDER == G_BIG_ENDIAN\r
+# define __nan_bytes { 0x7f, 0xc0, 0, 0 }\r
+# endif\r
+# if G_BYTE_ORDER == G_LITTLE_ENDIAN\r
+# define __nan_bytes { 0, 0, 0xc0, 0x7f }\r
+# endif\r
+\r
+static union { unsigned char __c[4]; float __d; } __nan_union = { __nan_bytes };\r
+# define NAN (__nan_union.__d)\r
+#endif\r
+\r
+#ifndef HUGE_VAL\r
+#define __huge_val_t union { unsigned char __c[8]; double __d; }\r
+# if G_BYTE_ORDER == G_BIG_ENDIAN\r
+# define __HUGE_VAL_bytes { 0x7f, 0xf0, 0, 0, 0, 0, 0, 0 }\r
+# endif\r
+# if G_BYTE_ORDER == G_LITTLE_ENDIAN\r
+# define __HUGE_VAL_bytes { 0, 0, 0, 0, 0, 0, 0xf0, 0x7f }\r
+# endif\r
+static __huge_val_t __huge_val = { __HUGE_VAL_bytes };\r
+# define HUGE_VAL (__huge_val.__d)\r
+#endif\r
+\r
+\r
+gdouble ves_icall_System_Math_Floor (gdouble x) {\r
+ MONO_ARCH_SAVE_REGS;\r
+ return floor(x);\r
+}\r