summaryrefslogtreecommitdiff
path: root/src/systemc/tests/systemc/datatypes/fx/fast_limits
diff options
context:
space:
mode:
Diffstat (limited to 'src/systemc/tests/systemc/datatypes/fx/fast_limits')
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fix_limits.cpp97
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fix_limits_double.cpp115
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fix_limits_inf.cpp111
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fix_limits_long.cpp118
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fix_limits_zero.cpp115
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fixed_limits.cpp95
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fixed_limits_double.cpp116
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fixed_limits_inf.cpp110
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fixed_limits_long.cpp117
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fixed_limits_zero.cpp115
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_float_limits.cpp102
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_float_limits_double.cpp127
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_float_limits_inf.cpp125
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_float_limits_long.cpp127
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_float_limits_zero.cpp124
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_precision_arbitrary.h72
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_precision_default.h68
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_precision_double.h70
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufix_limits.cpp97
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufix_limits_double.cpp115
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufix_limits_inf.cpp110
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufix_limits_long.cpp117
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufix_limits_zero.cpp110
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufixed_limits.cpp96
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufixed_limits_double.cpp115
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufixed_limits_inf.cpp110
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufixed_limits_long.cpp117
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufixed_limits_zero.cpp115
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log3482
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.bsd643482
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.cygwin3482
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.cygwin643482
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.linux3482
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.linux643482
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.linuxaarch643482
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.macosx3482
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.macosx643482
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.mingw3482
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/main.cpp109
-rw-r--r--src/systemc/tests/systemc/datatypes/fx/fast_limits/test.f26
40 files changed, 37981 insertions, 0 deletions
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fix_limits.cpp b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fix_limits.cpp
new file mode 100644
index 000000000..4f9268827
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fix_limits.cpp
@@ -0,0 +1,97 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ fx_fix_limits.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+// This may look like C code, but it is really -*- C++ -*-
+//
+// fx_fix_limits.cxx --
+// Copyright Synopsys 1998
+// Author : Ric Hilderink
+// Created On : Fri Jan 8 14:30:41 1999
+// Status : none
+//
+
+
+#include <limits.h>
+#include <math.h>
+
+#define SC_INCLUDE_FX
+#include "systemc.h"
+#include "fx_precision_double.h"
+
+#define SHOW(a) os << #a << " : " << a.to_string(SC_HEX) << "\n"
+#define SHOW_EXP(a) { res = a; os << #a << " : " << res.to_string(SC_HEX) << "\n"; }
+
+
+#define SHOW_EXPRS(a, b) \
+ SHOW_EXP(a b zero_min); \
+ SHOW_EXP(a b zero_plus); \
+ SHOW_EXP(a b zero); \
+ SHOW_EXP(a b long_max); \
+ SHOW_EXP(a b long_min); \
+ SHOW_EXP(a b int_max); \
+ SHOW_EXP(a b int_min); \
+ SHOW_EXP(a b uint_max); \
+ SHOW_EXP(a b ulong_max); \
+ SHOW_EXP(a b double_min); \
+ SHOW_EXP(a b double_max); \
+ SHOW_EXP(a b float_min); \
+ SHOW_EXP(a b float_max);
+
+#define SHOW_EXPS(a) \
+ SHOW_EXPRS(a, /) \
+ SHOW_EXPRS(a, *) \
+ SHOW_EXPRS(a, +) \
+ SHOW_EXPRS(a, -) \
+ SHOW_EXPRS(a, * a *)
+
+
+ extern void test_fx_fix_limits_zero(ostream&);
+ extern void test_fx_fix_limits_inf(ostream&);
+ extern void test_fx_fix_limits_long(ostream&);
+ extern void test_fx_fix_limits_double(ostream&);
+
+
+void test_fx_fix_limits(ostream& out)
+{
+ out << "****************** limits fx_fix\n";
+ test_fx_fix_limits_zero(out);
+ test_fx_fix_limits_inf(out);
+ test_fx_fix_limits_long(out);
+ test_fx_fix_limits_double(out);
+
+}
+
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fix_limits_double.cpp b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fix_limits_double.cpp
new file mode 100644
index 000000000..cca34221f
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fix_limits_double.cpp
@@ -0,0 +1,115 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ fx_fix_limits_double.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+// This may look like C code, but it is really -*- C++ -*-
+//
+// fx_fix_limits.cxx --
+// Copyright Synopsys 1998
+// Author : Ric Hilderink
+// Created On : Fri Jan 8 14:30:41 1999
+// Status : none
+//
+
+
+#include <limits.h>
+#include <float.h>
+#include <math.h>
+
+#define SC_INCLUDE_FX
+#include "systemc.h"
+#include "fx_precision_double.h"
+
+#define SHOW(a) out << #a << " : " << a.to_string(SC_HEX) << "\n"
+#define SHOW_EXP(a) { res = a; out << #a << " : " << res.to_string(SC_HEX) << "\n"; }
+
+
+#define SHOW_EXPRS(a, b) \
+ SHOW_EXP(a b zero_min); \
+ SHOW_EXP(a b zero_plus); \
+ SHOW_EXP(a b zero); \
+ SHOW_EXP(a b long_max); \
+ SHOW_EXP(a b long_min); \
+ SHOW_EXP(a b int_max); \
+ SHOW_EXP(a b int_min); \
+ SHOW_EXP(a b uint_max); \
+ SHOW_EXP(a b ulong_max); \
+ SHOW_EXP(a b double_min); \
+ SHOW_EXP(a b double_max); \
+ SHOW_EXP(a b float_min); \
+ SHOW_EXP(a b float_max);
+
+#define SHOW_EXPS(a) \
+ SHOW_EXPRS(a, /) \
+ SHOW_EXPRS(a, *) \
+ SHOW_EXPRS(a, +) \
+ SHOW_EXPRS(a, -) \
+ SHOW_EXPRS(a, >) \
+ SHOW_EXPRS(a, <) \
+ SHOW_EXPRS(a, >=) \
+ SHOW_EXPRS(a, <=) \
+ SHOW_EXPRS(a, ==) \
+ SHOW_EXPRS(a, !=) \
+ SHOW_EXPRS(a, * a *)
+
+
+void test_fx_fix_limits_double(ostream& out)
+{
+ out << "****************** limits fx_fix_double\n";
+
+ sc_fix zero_min("-0"); SHOW(zero_min);
+ sc_fix zero_plus("+0"); SHOW(zero_plus);
+ sc_fix zero(0); SHOW(zero);
+
+ sc_fix long_max(LONG_MAX); SHOW(long_max);
+ sc_fix long_min(LONG_MIN); SHOW(long_min);
+ sc_fix int_max(INT_MAX); SHOW(int_max);
+ sc_fix int_min(INT_MIN); SHOW(int_min);
+ sc_fix uint_max(UINT_MAX); SHOW(uint_max);
+ sc_fix ulong_max(ULONG_MAX); SHOW(ulong_max);
+
+ sc_fix double_min(DBL_MIN); SHOW(double_min);
+ sc_fix double_max(DBL_MAX); SHOW(double_max);
+ sc_fix float_min(FLT_MIN); SHOW(float_min);
+ sc_fix float_max(FLT_MAX); SHOW(float_max);
+
+ // sc_fix res;
+
+ // SHOW_EXPS(double_min);
+ // SHOW_EXPS(double_max);
+ // SHOW_EXPS(float_min);
+ // SHOW_EXPS(float_max);
+}
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fix_limits_inf.cpp b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fix_limits_inf.cpp
new file mode 100644
index 000000000..28cea60c2
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fix_limits_inf.cpp
@@ -0,0 +1,111 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ fx_fix_limits_inf.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+// This may look like C code, but it is really -*- C++ -*-
+//
+// fx_fix_limits.cxx --
+// Copyright Synopsys 1998
+// Author : Ric Hilderink
+// Created On : Fri Jan 8 14:30:41 1999
+// Status : none
+//
+
+
+#include <limits.h>
+#include <float.h>
+#include <math.h>
+
+#define SC_INCLUDE_FX
+#include "systemc.h"
+#include "fx_precision_double.h"
+
+#define SHOW(a) out << #a << " : " << a.to_string(SC_HEX) << "\n"
+#define SHOW_EXP(a) { res = a; out << #a << " : " << res.to_string(SC_HEX) << "\n"; }
+
+
+#define SHOW_EXPRS(a, b) \
+ SHOW_EXP(a b zero_min); \
+ SHOW_EXP(a b zero_plus); \
+ SHOW_EXP(a b zero); \
+ SHOW_EXP(a b long_max); \
+ SHOW_EXP(a b long_min); \
+ SHOW_EXP(a b int_max); \
+ SHOW_EXP(a b int_min); \
+ SHOW_EXP(a b uint_max); \
+ SHOW_EXP(a b ulong_max); \
+ SHOW_EXP(a b double_min); \
+ SHOW_EXP(a b double_max); \
+ SHOW_EXP(a b float_min); \
+ SHOW_EXP(a b float_max);
+
+#define SHOW_EXPS(a) \
+ SHOW_EXPRS(a, /) \
+ SHOW_EXPRS(a, *) \
+ SHOW_EXPRS(a, +) \
+ SHOW_EXPRS(a, -) \
+ SHOW_EXPRS(a, >) \
+ SHOW_EXPRS(a, <) \
+ SHOW_EXPRS(a, >=) \
+ SHOW_EXPRS(a, <=) \
+ SHOW_EXPRS(a, ==) \
+ SHOW_EXPRS(a, !=) \
+ SHOW_EXPRS(a, * a *)
+
+
+void test_fx_fix_limits_inf(ostream& out)
+{
+ out << "****************** limits fx_fix_inf\n";
+
+ sc_fix zero_min("-0"); SHOW(zero_min);
+ sc_fix zero_plus("+0"); SHOW(zero_plus);
+ sc_fix zero(0); SHOW(zero);
+
+ sc_fix long_max(LONG_MAX); SHOW(long_max);
+ sc_fix long_min(LONG_MIN); SHOW(long_min);
+ sc_fix int_max(INT_MAX); SHOW(int_max);
+ sc_fix int_min(INT_MIN); SHOW(int_min);
+ sc_fix uint_max(UINT_MAX); SHOW(uint_max);
+ sc_fix ulong_max(ULONG_MAX); SHOW(ulong_max);
+
+ sc_fix double_min(DBL_MIN); SHOW(double_min);
+ sc_fix double_max(DBL_MAX); SHOW(double_max);
+ sc_fix float_min(FLT_MIN); SHOW(float_min);
+ sc_fix float_max(FLT_MAX); SHOW(float_max);
+
+ // sc_fix res;
+}
+
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fix_limits_long.cpp b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fix_limits_long.cpp
new file mode 100644
index 000000000..fa4cca874
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fix_limits_long.cpp
@@ -0,0 +1,118 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ fx_fix_limits_long.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+// This may look like C code, but it is really -*- C++ -*-
+//
+// fx_fix_limits.cxx --
+// Copyright Synopsys 1998
+// Author : Ric Hilderink
+// Created On : Fri Jan 8 14:30:41 1999
+// Status : none
+//
+
+
+#include <limits.h>
+#include <float.h>
+#include <math.h>
+
+#define SC_INCLUDE_FX
+#include "systemc.h"
+#include "fx_precision_double.h"
+
+#define SHOW(a) out << #a << " : " << a.to_string(SC_HEX) << "\n"
+#define SHOW_EXP(a) { res = a; out << #a << " : " << res.to_string(SC_HEX) << "\n"; }
+
+
+#define SHOW_EXPRS(a, b) \
+ SHOW_EXP(a b zero_min); \
+ SHOW_EXP(a b zero_plus); \
+ SHOW_EXP(a b zero); \
+ SHOW_EXP(a b long_max); \
+ SHOW_EXP(a b long_min); \
+ SHOW_EXP(a b int_max); \
+ SHOW_EXP(a b int_min); \
+ SHOW_EXP(a b uint_max); \
+ SHOW_EXP(a b ulong_max); \
+ SHOW_EXP(a b double_min); \
+ SHOW_EXP(a b double_max); \
+ SHOW_EXP(a b float_min); \
+ SHOW_EXP(a b float_max);
+
+#define SHOW_EXPS(a) \
+ SHOW_EXPRS(a, /) \
+ SHOW_EXPRS(a, *) \
+ SHOW_EXPRS(a, +) \
+ SHOW_EXPRS(a, -) \
+ SHOW_EXPRS(a, >) \
+ SHOW_EXPRS(a, <) \
+ SHOW_EXPRS(a, >=) \
+ SHOW_EXPRS(a, <=) \
+ SHOW_EXPRS(a, ==) \
+ SHOW_EXPRS(a, !=) \
+ SHOW_EXPRS(a, * a *)
+
+
+void test_fx_fix_limits_long(ostream& out)
+{
+ out << "****************** limits fx_fix_long\n";
+
+ sc_fix zero_min("-0"); SHOW(zero_min);
+ sc_fix zero_plus("+0"); SHOW(zero_plus);
+ sc_fix zero(0); SHOW(zero);
+
+ sc_fix long_max(LONG_MAX); SHOW(long_max);
+ sc_fix long_min(LONG_MIN); SHOW(long_min);
+ sc_fix int_max(INT_MAX); SHOW(int_max);
+ sc_fix int_min(INT_MIN); SHOW(int_min);
+ sc_fix uint_max(UINT_MAX); SHOW(uint_max);
+ sc_fix ulong_max(ULONG_MAX); SHOW(ulong_max);
+
+ sc_fix double_min(DBL_MIN); SHOW(double_min);
+ sc_fix double_max(DBL_MAX); SHOW(double_max);
+ sc_fix float_min(FLT_MIN); SHOW(float_min);
+ sc_fix float_max(FLT_MAX); SHOW(float_max);
+
+ // sc_fix res;
+
+
+ // SHOW_EXPS(long_max);
+ // SHOW_EXPS(long_min);
+ // SHOW_EXPS(int_max);
+ // SHOW_EXPS(int_min);
+ // SHOW_EXPS(uint_max);
+ // SHOW_EXPS(ulong_max);
+}
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fix_limits_zero.cpp b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fix_limits_zero.cpp
new file mode 100644
index 000000000..f1d5debb5
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fix_limits_zero.cpp
@@ -0,0 +1,115 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ fx_fix_limits_zero.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+// This may look like C code, but it is really -*- C++ -*-
+//
+// fx_fix_limits.cxx --
+// Copyright Synopsys 1998
+// Author : Ric Hilderink
+// Created On : Fri Jan 8 14:30:41 1999
+// Status : none
+//
+
+
+#include <limits.h>
+#include <float.h>
+#include <math.h>
+
+#define SC_INCLUDE_FX
+#include "systemc.h"
+#include "fx_precision_double.h"
+
+#define SHOW(a) out << #a << " : " << a.to_string(SC_HEX) << "\n"
+#define SHOW_EXP(a) { res = a; out << #a << " : " << res.to_string(SC_HEX) << "\n"; }
+
+
+#define SHOW_EXPRS(a, b) \
+ SHOW_EXP(a b zero_min); \
+ SHOW_EXP(a b zero_plus); \
+ SHOW_EXP(a b zero); \
+ SHOW_EXP(a b long_max); \
+ SHOW_EXP(a b long_min); \
+ SHOW_EXP(a b int_max); \
+ SHOW_EXP(a b int_min); \
+ SHOW_EXP(a b uint_max); \
+ SHOW_EXP(a b ulong_max); \
+ SHOW_EXP(a b double_min); \
+ SHOW_EXP(a b double_max); \
+ SHOW_EXP(a b float_min); \
+ SHOW_EXP(a b float_max);
+
+#define SHOW_EXPS(a) \
+ SHOW_EXPRS(a, /) \
+ SHOW_EXPRS(a, *) \
+ SHOW_EXPRS(a, +) \
+ SHOW_EXPRS(a, -) \
+ SHOW_EXPRS(a, >) \
+ SHOW_EXPRS(a, <) \
+ SHOW_EXPRS(a, >=) \
+ SHOW_EXPRS(a, <=) \
+ SHOW_EXPRS(a, ==) \
+ SHOW_EXPRS(a, !=) \
+ SHOW_EXPRS(a, * a *)
+
+
+void test_fx_fix_limits_zero(ostream& out)
+{
+ out << "****************** limits fx_fix_zero\n";
+
+ sc_fix zero_min("-0"); SHOW(zero_min);
+ sc_fix zero_plus("+0"); SHOW(zero_plus);
+ sc_fix zero(0); SHOW(zero);
+
+ sc_fix long_max(LONG_MAX); SHOW(long_max);
+ sc_fix long_min(LONG_MIN); SHOW(long_min);
+ sc_fix int_max(INT_MAX); SHOW(int_max);
+ sc_fix int_min(INT_MIN); SHOW(int_min);
+ sc_fix uint_max(UINT_MAX); SHOW(uint_max);
+ sc_fix ulong_max(ULONG_MAX); SHOW(ulong_max);
+
+ sc_fix double_min(DBL_MIN); SHOW(double_min);
+ sc_fix double_max(DBL_MAX); SHOW(double_max);
+ sc_fix float_min(FLT_MIN); SHOW(float_min);
+ sc_fix float_max(FLT_MAX); SHOW(float_max);
+
+ // sc_fix res;
+
+
+ // SHOW_EXPS(zero_min);
+ // SHOW_EXPS(zero_plus);
+ // SHOW_EXPS(zero);
+}
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fixed_limits.cpp b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fixed_limits.cpp
new file mode 100644
index 000000000..39b9f01d2
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fixed_limits.cpp
@@ -0,0 +1,95 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ fx_fixed_limits.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+// This may look like C code, but it is really -*- C++ -*-
+//
+// fx_fixed<8, 5>_limits.cxx --
+// Copyright Synopsys 1998
+// Author : Ric Hilderink
+// Created On : Fri Jan 8 14:30:41 1999
+// Status : none
+//
+
+
+#include <limits.h>
+#include <math.h>
+
+#define SC_INCLUDE_FX
+#include "systemc.h"
+#include "fx_precision_double.h"
+
+#define SHOW(a) out << #a << " : " << a.to_string(SC_HEX) << "\n"
+#define SHOW_EXP(a) { res = a; out << #a << " : " << res.to_string(SC_HEX) << "\n"; }
+
+
+#define SHOW_EXPRS(a, b) \
+ SHOW_EXP(a b zero_min); \
+ SHOW_EXP(a b zero_plus); \
+ SHOW_EXP(a b zero); \
+ SHOW_EXP(a b long_max); \
+ SHOW_EXP(a b long_min); \
+ SHOW_EXP(a b int_max); \
+ SHOW_EXP(a b int_min); \
+ SHOW_EXP(a b uint_max); \
+ SHOW_EXP(a b ulong_max); \
+ SHOW_EXP(a b double_min); \
+ SHOW_EXP(a b double_max); \
+ SHOW_EXP(a b float_min); \
+ SHOW_EXP(a b float_max);
+
+#define SHOW_EXPS(a) \
+ SHOW_EXPRS(a, /) \
+ SHOW_EXPRS(a, *) \
+ SHOW_EXPRS(a, +) \
+ SHOW_EXPRS(a, -) \
+ SHOW_EXPRS(a, * a *)
+
+
+ extern void test_fx_fixed_limits_zero(ostream&);
+ extern void test_fx_fixed_limits_inf(ostream&);
+ extern void test_fx_fixed_limits_long(ostream&);
+ extern void test_fx_fixed_limits_double(ostream&);
+
+void test_fx_fixed_limits(ostream& out)
+{
+ out << "****************** limits fx_fixed<8, 5>\n";
+
+ test_fx_fixed_limits_zero(out);
+ test_fx_fixed_limits_inf(out);
+ test_fx_fixed_limits_long(out);
+ test_fx_fixed_limits_double(out);
+}
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fixed_limits_double.cpp b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fixed_limits_double.cpp
new file mode 100644
index 000000000..84fbe2420
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fixed_limits_double.cpp
@@ -0,0 +1,116 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ fx_fixed_limits_double.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+// This may look like C code, but it is really -*- C++ -*-
+//
+// fx_fixed<8, 5>_limits.cxx --
+// Copyright Synopsys 1998
+// Author : Ric Hilderink
+// Created On : Fri Jan 8 14:30:41 1999
+// Status : none
+//
+
+
+#include <limits.h>
+#include <float.h>
+#include <math.h>
+
+#define SC_INCLUDE_FX
+#include "systemc.h"
+#include "fx_precision_double.h"
+
+#define SHOW(a) out << #a << " : " << a.to_string(SC_HEX) << "\n"
+#define SHOW_EXP(a) { res = a; out << #a << " : " << res.to_string(SC_HEX) << "\n"; }
+
+
+#define SHOW_EXPRS(a, b) \
+ SHOW_EXP(a b zero_min); \
+ SHOW_EXP(a b zero_plus); \
+ SHOW_EXP(a b zero); \
+ SHOW_EXP(a b long_max); \
+ SHOW_EXP(a b long_min); \
+ SHOW_EXP(a b int_max); \
+ SHOW_EXP(a b int_min); \
+ SHOW_EXP(a b uint_max); \
+ SHOW_EXP(a b ulong_max); \
+ SHOW_EXP(a b double_min); \
+ SHOW_EXP(a b double_max); \
+ SHOW_EXP(a b float_min); \
+ SHOW_EXP(a b float_max);
+
+#define SHOW_EXPS(a) \
+ SHOW_EXPRS(a, /) \
+ SHOW_EXPRS(a, *) \
+ SHOW_EXPRS(a, +) \
+ SHOW_EXPRS(a, -) \
+ SHOW_EXPRS(a, >) \
+ SHOW_EXPRS(a, <) \
+ SHOW_EXPRS(a, >=) \
+ SHOW_EXPRS(a, <=) \
+ SHOW_EXPRS(a, ==) \
+ SHOW_EXPRS(a, !=) \
+ SHOW_EXPRS(a, * a *)
+
+
+void test_fx_fixed_limits_double(ostream& out)
+{
+ out << "****************** limits fx_fixed<8, 5>_double\n";
+
+ sc_fixed<8, 5> zero_min("-0"); SHOW(zero_min);
+ sc_fixed<8, 5> zero_plus("+0"); SHOW(zero_plus);
+ sc_fixed<8, 5> zero(0); SHOW(zero);
+
+ sc_fixed<8, 5> long_max(LONG_MAX); SHOW(long_max);
+ sc_fixed<8, 5> long_min(LONG_MIN); SHOW(long_min);
+ sc_fixed<8, 5> int_max(INT_MAX); SHOW(int_max);
+ sc_fixed<8, 5> int_min(INT_MIN); SHOW(int_min);
+ sc_fixed<8, 5> uint_max(UINT_MAX); SHOW(uint_max);
+ sc_fixed<8, 5> ulong_max(ULONG_MAX); SHOW(ulong_max);
+
+ sc_fixed<8, 5> double_min(DBL_MIN); SHOW(double_min);
+ sc_fixed<8, 5> double_max(DBL_MAX); SHOW(double_max);
+ sc_fixed<8, 5> float_min(FLT_MIN); SHOW(float_min);
+ sc_fixed<8, 5> float_max(FLT_MAX); SHOW(float_max);
+
+ // sc_fixed<8, 5> res;
+
+
+ // SHOW_EXPS(double_min);
+ // SHOW_EXPS(double_max);
+ // SHOW_EXPS(float_min);
+ // SHOW_EXPS(float_max);
+}
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fixed_limits_inf.cpp b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fixed_limits_inf.cpp
new file mode 100644
index 000000000..b3b7047b5
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fixed_limits_inf.cpp
@@ -0,0 +1,110 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ fx_fixed_limits_inf.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+// This may look like C code, but it is really -*- C++ -*-
+//
+// fx_fixed<8, 5>_limits.cxx --
+// Copyright Synopsys 1998
+// Author : Ric Hilderink
+// Created On : Fri Jan 8 14:30:41 1999
+// Status : none
+//
+
+
+#include <limits.h>
+#include <float.h>
+#include <math.h>
+
+#define SC_INCLUDE_FX
+#include "systemc.h"
+#include "fx_precision_double.h"
+
+#define SHOW(a) out << #a << " : " << a.to_string(SC_HEX) << "\n"
+#define SHOW_EXP(a) { res = a; out << #a << " : " << res.to_string(SC_HEX) << "\n"; }
+
+
+#define SHOW_EXPRS(a, b) \
+ SHOW_EXP(a b zero_min); \
+ SHOW_EXP(a b zero_plus); \
+ SHOW_EXP(a b zero); \
+ SHOW_EXP(a b long_max); \
+ SHOW_EXP(a b long_min); \
+ SHOW_EXP(a b int_max); \
+ SHOW_EXP(a b int_min); \
+ SHOW_EXP(a b uint_max); \
+ SHOW_EXP(a b ulong_max); \
+ SHOW_EXP(a b double_min); \
+ SHOW_EXP(a b double_max); \
+ SHOW_EXP(a b float_min); \
+ SHOW_EXP(a b float_max);
+
+#define SHOW_EXPS(a) \
+ SHOW_EXPRS(a, /) \
+ SHOW_EXPRS(a, *) \
+ SHOW_EXPRS(a, +) \
+ SHOW_EXPRS(a, -) \
+ SHOW_EXPRS(a, >) \
+ SHOW_EXPRS(a, <) \
+ SHOW_EXPRS(a, >=) \
+ SHOW_EXPRS(a, <=) \
+ SHOW_EXPRS(a, ==) \
+ SHOW_EXPRS(a, !=) \
+ SHOW_EXPRS(a, * a *)
+
+
+void test_fx_fixed_limits_inf(ostream& out)
+{
+ out << "****************** limits fx_fixed<8, 5>_inf\n";
+
+ sc_fixed<8, 5> zero_min("-0"); SHOW(zero_min);
+ sc_fixed<8, 5> zero_plus("+0"); SHOW(zero_plus);
+ sc_fixed<8, 5> zero(0); SHOW(zero);
+
+ sc_fixed<8, 5> long_max(LONG_MAX); SHOW(long_max);
+ sc_fixed<8, 5> long_min(LONG_MIN); SHOW(long_min);
+ sc_fixed<8, 5> int_max(INT_MAX); SHOW(int_max);
+ sc_fixed<8, 5> int_min(INT_MIN); SHOW(int_min);
+ sc_fixed<8, 5> uint_max(UINT_MAX); SHOW(uint_max);
+ sc_fixed<8, 5> ulong_max(ULONG_MAX); SHOW(ulong_max);
+
+ sc_fixed<8, 5> double_min(DBL_MIN); SHOW(double_min);
+ sc_fixed<8, 5> double_max(DBL_MAX); SHOW(double_max);
+ sc_fixed<8, 5> float_min(FLT_MIN); SHOW(float_min);
+ sc_fixed<8, 5> float_max(FLT_MAX); SHOW(float_max);
+
+ // sc_fixed<8, 5> res;
+}
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fixed_limits_long.cpp b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fixed_limits_long.cpp
new file mode 100644
index 000000000..d40aab775
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fixed_limits_long.cpp
@@ -0,0 +1,117 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ fx_fixed_limits_long.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+// This may look like C code, but it is really -*- C++ -*-
+//
+// fx_fixed<8, 5>_limits.cxx --
+// Copyright Synopsys 1998
+// Author : Ric Hilderink
+// Created On : Fri Jan 8 14:30:41 1999
+// Status : none
+//
+
+
+#include <limits.h>
+#include <float.h>
+#include <math.h>
+
+#define SC_INCLUDE_FX
+#include "systemc.h"
+#include "fx_precision_double.h"
+
+#define SHOW(a) out << #a << " : " << a.to_string(SC_HEX) << "\n"
+#define SHOW_EXP(a) { res = a; out << #a << " : " << res.to_string(SC_HEX) << "\n"; }
+
+
+#define SHOW_EXPRS(a, b) \
+ SHOW_EXP(a b zero_min); \
+ SHOW_EXP(a b zero_plus); \
+ SHOW_EXP(a b zero); \
+ SHOW_EXP(a b long_max); \
+ SHOW_EXP(a b long_min); \
+ SHOW_EXP(a b int_max); \
+ SHOW_EXP(a b int_min); \
+ SHOW_EXP(a b uint_max); \
+ SHOW_EXP(a b ulong_max); \
+ SHOW_EXP(a b double_min); \
+ SHOW_EXP(a b double_max); \
+ SHOW_EXP(a b float_min); \
+ SHOW_EXP(a b float_max);
+
+#define SHOW_EXPS(a) \
+ SHOW_EXPRS(a, /) \
+ SHOW_EXPRS(a, *) \
+ SHOW_EXPRS(a, +) \
+ SHOW_EXPRS(a, -) \
+ SHOW_EXPRS(a, >) \
+ SHOW_EXPRS(a, <) \
+ SHOW_EXPRS(a, >=) \
+ SHOW_EXPRS(a, <=) \
+ SHOW_EXPRS(a, ==) \
+ SHOW_EXPRS(a, !=) \
+ SHOW_EXPRS(a, * a *)
+
+
+void test_fx_fixed_limits_long(ostream& out)
+{
+ out << "****************** limits fx_fixed<8, 5>_long\n";
+
+ sc_fixed<8, 5> zero_min("-0"); SHOW(zero_min);
+ sc_fixed<8, 5> zero_plus("+0"); SHOW(zero_plus);
+ sc_fixed<8, 5> zero(0); SHOW(zero);
+
+ sc_fixed<8, 5> long_max(LONG_MAX); SHOW(long_max);
+ sc_fixed<8, 5> long_min(LONG_MIN); SHOW(long_min);
+ sc_fixed<8, 5> int_max(INT_MAX); SHOW(int_max);
+ sc_fixed<8, 5> int_min(INT_MIN); SHOW(int_min);
+ sc_fixed<8, 5> uint_max(UINT_MAX); SHOW(uint_max);
+ sc_fixed<8, 5> ulong_max(ULONG_MAX); SHOW(ulong_max);
+
+ sc_fixed<8, 5> double_min(DBL_MIN); SHOW(double_min);
+ sc_fixed<8, 5> double_max(DBL_MAX); SHOW(double_max);
+ sc_fixed<8, 5> float_min(FLT_MIN); SHOW(float_min);
+ sc_fixed<8, 5> float_max(FLT_MAX); SHOW(float_max);
+
+ // sc_fixed<8, 5> res;
+
+ // SHOW_EXPS(long_max);
+ // SHOW_EXPS(long_min);
+ // SHOW_EXPS(int_max);
+ // SHOW_EXPS(int_min);
+ // SHOW_EXPS(uint_max);
+ // SHOW_EXPS(ulong_max);
+}
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fixed_limits_zero.cpp b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fixed_limits_zero.cpp
new file mode 100644
index 000000000..7b234b7bb
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_fixed_limits_zero.cpp
@@ -0,0 +1,115 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ fx_fixed_limits_zero.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+// This may look like C code, but it is really -*- C++ -*-
+//
+// fx_fixed<8, 5>_limits.cxx --
+// Copyright Synopsys 1998
+// Author : Ric Hilderink
+// Created On : Fri Jan 8 14:30:41 1999
+// Status : none
+//
+
+
+#include <limits.h>
+#include <float.h>
+#include <math.h>
+
+#define SC_INCLUDE_FX
+#include "systemc.h"
+#include "fx_precision_double.h"
+
+#define SHOW(a) out << #a << " : " << a.to_string(SC_HEX) << "\n"
+#define SHOW_EXP(a) { res = a; out << #a << " : " << res.to_string(SC_HEX) << "\n"; }
+
+
+#define SHOW_EXPRS(a, b) \
+ SHOW_EXP(a b zero_min); \
+ SHOW_EXP(a b zero_plus); \
+ SHOW_EXP(a b zero); \
+ SHOW_EXP(a b long_max); \
+ SHOW_EXP(a b long_min); \
+ SHOW_EXP(a b int_max); \
+ SHOW_EXP(a b int_min); \
+ SHOW_EXP(a b uint_max); \
+ SHOW_EXP(a b ulong_max); \
+ SHOW_EXP(a b double_min); \
+ SHOW_EXP(a b double_max); \
+ SHOW_EXP(a b float_min); \
+ SHOW_EXP(a b float_max);
+
+#define SHOW_EXPS(a) \
+ SHOW_EXPRS(a, /) \
+ SHOW_EXPRS(a, *) \
+ SHOW_EXPRS(a, +) \
+ SHOW_EXPRS(a, -) \
+ SHOW_EXPRS(a, >) \
+ SHOW_EXPRS(a, <) \
+ SHOW_EXPRS(a, >=) \
+ SHOW_EXPRS(a, <=) \
+ SHOW_EXPRS(a, ==) \
+ SHOW_EXPRS(a, !=) \
+ SHOW_EXPRS(a, * a *)
+
+
+void test_fx_fixed_limits_zero(ostream& out)
+{
+ out << "****************** limits fx_fixed<8, 5>_zero\n";
+
+ sc_fixed<8, 5> zero_min("-0"); SHOW(zero_min);
+ sc_fixed<8, 5> zero_plus("+0"); SHOW(zero_plus);
+ sc_fixed<8, 5> zero(0); SHOW(zero);
+
+ sc_fixed<8, 5> long_max(LONG_MAX); SHOW(long_max);
+ sc_fixed<8, 5> long_min(LONG_MIN); SHOW(long_min);
+ sc_fixed<8, 5> int_max(INT_MAX); SHOW(int_max);
+ sc_fixed<8, 5> int_min(INT_MIN); SHOW(int_min);
+ sc_fixed<8, 5> uint_max(UINT_MAX); SHOW(uint_max);
+ sc_fixed<8, 5> ulong_max(ULONG_MAX); SHOW(ulong_max);
+
+ sc_fixed<8, 5> double_min(DBL_MIN); SHOW(double_min);
+ sc_fixed<8, 5> double_max(DBL_MAX); SHOW(double_max);
+ sc_fixed<8, 5> float_min(FLT_MIN); SHOW(float_min);
+ sc_fixed<8, 5> float_max(FLT_MAX); SHOW(float_max);
+
+ // sc_fixed<8, 5> res;
+
+
+ // SHOW_EXPS(zero_min);
+ // SHOW_EXPS(zero_plus);
+ // SHOW_EXPS(zero);
+}
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_float_limits.cpp b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_float_limits.cpp
new file mode 100644
index 000000000..a09d44130
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_float_limits.cpp
@@ -0,0 +1,102 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ fx_float_limits.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+// This may look like C code, but it is really -*- C++ -*-
+//
+// fx_float_limits.cxx --
+// Copyright Synopsys 1998
+// Author : Ric Hilderink
+// Created On : Fri Jan 8 14:31:37 1999
+// Status : none
+//
+
+
+#include <limits.h>
+#include <math.h>
+
+#define SC_INCLUDE_FX
+#include "systemc.h"
+#include "fx_precision_double.h"
+
+#define SHOW(a) out << #a << " : " << a.to_string(SC_HEX) << "\n"
+#define SHOW_EXP(a) { res = a; out << #a << " : " << res.to_string(SC_HEX) << "\n"; }
+
+
+#define SHOW_EXPRS(a, b) \
+ SHOW_EXP(a b zero_min); \
+ SHOW_EXP(a b zero_plus); \
+ SHOW_EXP(a b zero); \
+ SHOW_EXP(a b nan); \
+ SHOW_EXP(a b inf_plus); \
+ SHOW_EXP(a b inf_min); \
+ SHOW_EXP(a b inf); \
+ SHOW_EXP(a b long_max); \
+ SHOW_EXP(a b long_min); \
+ SHOW_EXP(a b int_max); \
+ SHOW_EXP(a b int_min); \
+ SHOW_EXP(a b uint_max); \
+ SHOW_EXP(a b ulong_max); \
+ SHOW_EXP(a b double_min); \
+ SHOW_EXP(a b double_max); \
+ SHOW_EXP(a b float_min); \
+ SHOW_EXP(a b float_max);
+
+#define SHOW_EXPS(a) \
+ SHOW_EXPRS(a, /) \
+ SHOW_EXPRS(a, *) \
+ SHOW_EXPRS(a, +) \
+ SHOW_EXPRS(a, -) \
+ SHOW_EXPRS(a, * a *)
+
+
+ extern void test_fx_float_limits_zero(ostream&);
+ extern void test_fx_float_limits_inf(ostream&);
+ extern void test_fx_float_limits_long(ostream&);
+ extern void test_fx_float_limits_double(ostream&);
+
+
+void test_fx_float_limits(ostream& out)
+{
+ out << "****************** limits fx_float\n";
+
+ test_fx_float_limits_zero(out);
+ test_fx_float_limits_inf(out);
+ test_fx_float_limits_long(out);
+ test_fx_float_limits_double(out);
+
+}
+
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_float_limits_double.cpp b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_float_limits_double.cpp
new file mode 100644
index 000000000..93619dbe4
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_float_limits_double.cpp
@@ -0,0 +1,127 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ fx_float_limits_double.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+// This may look like C code, but it is really -*- C++ -*-
+//
+// fx_float_limits.cxx --
+// Copyright Synopsys 1998
+// Author : Ric Hilderink
+// Created On : Fri Jan 8 14:31:37 1999
+// Status : none
+//
+
+
+#include <limits.h>
+#include <float.h>
+#include <math.h>
+
+#define SC_INCLUDE_FX
+#include "systemc.h"
+#include "fx_precision_double.h"
+
+#define SHOW(a) out << #a << " : " << a.to_string(SC_HEX) << "\n"
+#define SHOW_EXP(a) { res = a; out << #a << " : " << res.to_string(SC_HEX) << "\n"; }
+
+
+#define SHOW_EXPRS(a, b) \
+ SHOW_EXP(a b zero_min); \
+ SHOW_EXP(a b zero_plus); \
+ SHOW_EXP(a b zero); \
+ SHOW_EXP(a b nan); \
+ SHOW_EXP(a b inf_plus); \
+ SHOW_EXP(a b inf_min); \
+ SHOW_EXP(a b inf); \
+ SHOW_EXP(a b long_max); \
+ SHOW_EXP(a b long_min); \
+ SHOW_EXP(a b int_max); \
+ SHOW_EXP(a b int_min); \
+ SHOW_EXP(a b uint_max); \
+ SHOW_EXP(a b ulong_max); \
+ SHOW_EXP(a b double_min); \
+ SHOW_EXP(a b double_max); \
+ SHOW_EXP(a b float_min); \
+ SHOW_EXP(a b float_max);
+
+#define SHOW_EXPS(a) \
+ SHOW_EXPRS(a, /) \
+ SHOW_EXPRS(a, *) \
+ SHOW_EXPRS(a, +) \
+ SHOW_EXPRS(a, -) \
+ SHOW_EXPRS(a, >) \
+ SHOW_EXPRS(a, <) \
+ SHOW_EXPRS(a, >=) \
+ SHOW_EXPRS(a, <=) \
+ SHOW_EXPRS(a, ==) \
+ SHOW_EXPRS(a, !=) \
+ SHOW_EXPRS(a, * a *)
+
+
+void test_fx_float_limits_double(ostream& out)
+{
+ out << "****************** limits fx_float_double\n";
+
+ sc_fxval zero_min("-0"); SHOW(zero_min);
+ sc_fxval zero_plus("+0"); SHOW(zero_plus);
+ sc_fxval zero(0); SHOW(zero);
+
+ sc_fxval nan("NaN"); SHOW(nan);
+ sc_fxval inf_plus("+Inf"); SHOW(inf_plus);
+ sc_fxval inf_min("-Inf"); SHOW(inf_min);
+ sc_fxval inf("Inf"); SHOW(inf);
+
+ sc_fxval long_max(LONG_MAX); SHOW(long_max);
+ sc_fxval long_min(LONG_MIN); SHOW(long_min);
+ sc_fxval int_max(INT_MAX); SHOW(int_max);
+ sc_fxval int_min(INT_MIN); SHOW(int_min);
+ sc_fxval uint_max(UINT_MAX); SHOW(uint_max);
+ sc_fxval ulong_max(ULONG_MAX); SHOW(ulong_max);
+
+ sc_fxval double_min(DBL_MIN); SHOW(double_min);
+ sc_fxval double_max(DBL_MAX); SHOW(double_max);
+ sc_fxval float_min(FLT_MIN); SHOW(float_min);
+ sc_fxval float_max(FLT_MAX); SHOW(float_max);
+
+ sc_fxval res;
+
+ SHOW_EXPS(double_min);
+ SHOW_EXPS(double_max);
+ SHOW_EXPS(float_min);
+ SHOW_EXPS(float_max);
+
+
+ SHOW_EXP(double_min / nan);
+}
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_float_limits_inf.cpp b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_float_limits_inf.cpp
new file mode 100644
index 000000000..271873980
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_float_limits_inf.cpp
@@ -0,0 +1,125 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ fx_float_limits_inf.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+// This may look like C code, but it is really -*- C++ -*-
+//
+// fx_float_limits.cxx --
+// Copyright Synopsys 1998
+// Author : Ric Hilderink
+// Created On : Fri Jan 8 14:31:37 1999
+// Status : none
+//
+
+
+#include <limits.h>
+#include <float.h>
+#include <math.h>
+
+#define SC_INCLUDE_FX
+#include "systemc.h"
+#include "fx_precision_double.h"
+
+#define SHOW(a) out << #a << " : " << a.to_string(SC_HEX) << "\n"
+#define SHOW_EXP(a) { res = a; out << #a << " : " << res.to_string(SC_HEX) << "\n"; }
+
+
+#define SHOW_EXPRS(a, b) \
+ SHOW_EXP(a b zero_min); \
+ SHOW_EXP(a b zero_plus); \
+ SHOW_EXP(a b zero); \
+ SHOW_EXP(a b nan); \
+ SHOW_EXP(a b inf_plus); \
+ SHOW_EXP(a b inf_min); \
+ SHOW_EXP(a b inf); \
+ SHOW_EXP(a b long_max); \
+ SHOW_EXP(a b long_min); \
+ SHOW_EXP(a b int_max); \
+ SHOW_EXP(a b int_min); \
+ SHOW_EXP(a b uint_max); \
+ SHOW_EXP(a b ulong_max); \
+ SHOW_EXP(a b double_min); \
+ SHOW_EXP(a b double_max); \
+ SHOW_EXP(a b float_min); \
+ SHOW_EXP(a b float_max);
+
+#define SHOW_EXPS(a) \
+ SHOW_EXPRS(a, /) \
+ SHOW_EXPRS(a, *) \
+ SHOW_EXPRS(a, +) \
+ SHOW_EXPRS(a, -) \
+ SHOW_EXPRS(a, >) \
+ SHOW_EXPRS(a, <) \
+ SHOW_EXPRS(a, >=) \
+ SHOW_EXPRS(a, <=) \
+ SHOW_EXPRS(a, ==) \
+ SHOW_EXPRS(a, !=) \
+ SHOW_EXPRS(a, * a *)
+
+
+void test_fx_float_limits_inf(ostream& out)
+{
+ cerr << "****************** limits fx_float_inf\n";
+
+ sc_fxval zero_min("-0"); SHOW(zero_min);
+ sc_fxval zero_plus("+0"); SHOW(zero_plus);
+ sc_fxval zero(0); SHOW(zero);
+
+ sc_fxval nan("NaN"); SHOW(nan);
+ sc_fxval inf_plus("+Inf"); SHOW(inf_plus);
+ sc_fxval inf_min("-Inf"); SHOW(inf_min);
+ sc_fxval inf("Inf"); SHOW(inf);
+
+ sc_fxval long_max(LONG_MAX); SHOW(long_max);
+ sc_fxval long_min(LONG_MIN); SHOW(long_min);
+ sc_fxval int_max(INT_MAX); SHOW(int_max);
+ sc_fxval int_min(INT_MIN); SHOW(int_min);
+ sc_fxval uint_max(UINT_MAX); SHOW(uint_max);
+ sc_fxval ulong_max(ULONG_MAX); SHOW(ulong_max);
+
+ sc_fxval double_min(DBL_MIN); SHOW(double_min);
+ sc_fxval double_max(DBL_MAX); SHOW(double_max);
+ sc_fxval float_min(FLT_MIN); SHOW(float_min);
+ sc_fxval float_max(FLT_MAX); SHOW(float_max);
+
+ sc_fxval res;
+
+
+ SHOW_EXPS(nan);
+ SHOW_EXPS(inf_plus);
+ SHOW_EXPS(inf_min);
+ SHOW_EXPS(inf);
+}
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_float_limits_long.cpp b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_float_limits_long.cpp
new file mode 100644
index 000000000..edba14d29
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_float_limits_long.cpp
@@ -0,0 +1,127 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ fx_float_limits_long.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+// This may look like C code, but it is really -*- C++ -*-
+//
+// fx_float_limits.cxx --
+// Copyright Synopsys 1998
+// Author : Ric Hilderink
+// Created On : Fri Jan 8 14:31:37 1999
+// Status : none
+//
+
+
+#include <limits.h>
+#include <float.h>
+#include <math.h>
+
+#define SC_INCLUDE_FX
+#include "systemc.h"
+#include "fx_precision_double.h"
+
+#define SHOW(a) out << #a << " : " << a.to_string(SC_HEX) << "\n"
+#define SHOW_EXP(a) { res = a; out << #a << " : " << res.to_string(SC_HEX) << "\n"; }
+
+
+#define SHOW_EXPRS(a, b) \
+ SHOW_EXP(a b zero_min); \
+ SHOW_EXP(a b zero_plus); \
+ SHOW_EXP(a b zero); \
+ SHOW_EXP(a b nan); \
+ SHOW_EXP(a b inf_plus); \
+ SHOW_EXP(a b inf_min); \
+ SHOW_EXP(a b inf); \
+ SHOW_EXP(a b long_max); \
+ SHOW_EXP(a b long_min); \
+ SHOW_EXP(a b int_max); \
+ SHOW_EXP(a b int_min); \
+ SHOW_EXP(a b uint_max); \
+ SHOW_EXP(a b ulong_max); \
+ SHOW_EXP(a b double_min); \
+ SHOW_EXP(a b double_max); \
+ SHOW_EXP(a b float_min); \
+ SHOW_EXP(a b float_max);
+
+#define SHOW_EXPS(a) \
+ SHOW_EXPRS(a, /) \
+ SHOW_EXPRS(a, *) \
+ SHOW_EXPRS(a, +) \
+ SHOW_EXPRS(a, -) \
+ SHOW_EXPRS(a, >) \
+ SHOW_EXPRS(a, <) \
+ SHOW_EXPRS(a, >=) \
+ SHOW_EXPRS(a, <=) \
+ SHOW_EXPRS(a, ==) \
+ SHOW_EXPRS(a, !=) \
+ SHOW_EXPRS(a, * a *)
+
+
+void test_fx_float_limits_long(ostream& out)
+{
+ out << "****************** limits fx_float_long\n";
+
+ sc_fxval zero_min("-0"); SHOW(zero_min);
+ sc_fxval zero_plus("+0"); SHOW(zero_plus);
+ sc_fxval zero(0); SHOW(zero);
+
+ sc_fxval nan("NaN"); SHOW(nan);
+ sc_fxval inf_plus("+Inf"); SHOW(inf_plus);
+ sc_fxval inf_min("-Inf"); SHOW(inf_min);
+ sc_fxval inf("Inf"); SHOW(inf);
+
+ sc_fxval long_max(LONG_MAX); SHOW(long_max);
+ sc_fxval long_min(LONG_MIN); SHOW(long_min);
+ sc_fxval int_max(INT_MAX); SHOW(int_max);
+ sc_fxval int_min(INT_MIN); SHOW(int_min);
+ sc_fxval uint_max(UINT_MAX); SHOW(uint_max);
+ sc_fxval ulong_max(ULONG_MAX); SHOW(ulong_max);
+
+ sc_fxval double_min(DBL_MIN); SHOW(double_min);
+ sc_fxval double_max(DBL_MAX); SHOW(double_max);
+ sc_fxval float_min(FLT_MIN); SHOW(float_min);
+ sc_fxval float_max(FLT_MAX); SHOW(float_max);
+
+ sc_fxval res;
+
+
+ SHOW_EXPS(long_max);
+ SHOW_EXPS(long_min);
+ SHOW_EXPS(int_max);
+ SHOW_EXPS(int_min);
+ SHOW_EXPS(uint_max);
+ SHOW_EXPS(ulong_max);
+}
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_float_limits_zero.cpp b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_float_limits_zero.cpp
new file mode 100644
index 000000000..804066384
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_float_limits_zero.cpp
@@ -0,0 +1,124 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ fx_float_limits_zero.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+// This may look like C code, but it is really -*- C++ -*-
+//
+// fx_float_limits.cxx --
+// Copyright Synopsys 1998
+// Author : Ric Hilderink
+// Created On : Fri Jan 8 14:31:37 1999
+// Status : none
+//
+
+
+#include <limits.h>
+#include <float.h>
+#include <math.h>
+
+#define SC_INCLUDE_FX
+#include "systemc.h"
+#include "fx_precision_double.h"
+
+#define SHOW(a) out << #a << " : " << a.to_string(SC_HEX) << "\n"
+#define SHOW_EXP(a) { res = a; out << #a << " : " << res.to_string(SC_HEX) << "\n"; }
+
+
+#define SHOW_EXPRS(a, b) \
+ SHOW_EXP(a b zero_min); \
+ SHOW_EXP(a b zero_plus); \
+ SHOW_EXP(a b zero); \
+ SHOW_EXP(a b nan); \
+ SHOW_EXP(a b inf_plus); \
+ SHOW_EXP(a b inf_min); \
+ SHOW_EXP(a b inf); \
+ SHOW_EXP(a b long_max); \
+ SHOW_EXP(a b long_min); \
+ SHOW_EXP(a b int_max); \
+ SHOW_EXP(a b int_min); \
+ SHOW_EXP(a b uint_max); \
+ SHOW_EXP(a b ulong_max); \
+ SHOW_EXP(a b double_min); \
+ SHOW_EXP(a b double_max); \
+ SHOW_EXP(a b float_min); \
+ SHOW_EXP(a b float_max);
+
+#define SHOW_EXPS(a) \
+ SHOW_EXPRS(a, /) \
+ SHOW_EXPRS(a, *) \
+ SHOW_EXPRS(a, +) \
+ SHOW_EXPRS(a, -) \
+ SHOW_EXPRS(a, >) \
+ SHOW_EXPRS(a, <) \
+ SHOW_EXPRS(a, >=) \
+ SHOW_EXPRS(a, <=) \
+ SHOW_EXPRS(a, ==) \
+ SHOW_EXPRS(a, !=) \
+ SHOW_EXPRS(a, * a *)
+
+
+void test_fx_float_limits_zero(ostream& out)
+{
+ cerr << "****************** limits fx_float_zero\n";
+
+ sc_fxval zero_min("-0"); SHOW(zero_min);
+ sc_fxval zero_plus("+0"); SHOW(zero_plus);
+ sc_fxval zero(0); SHOW(zero);
+
+ sc_fxval nan("NaN"); SHOW(nan);
+ sc_fxval inf_plus("+Inf"); SHOW(inf_plus);
+ sc_fxval inf_min("-Inf"); SHOW(inf_min);
+ sc_fxval inf("Inf"); SHOW(inf);
+
+ sc_fxval long_max(LONG_MAX); SHOW(long_max);
+ sc_fxval long_min(LONG_MIN); SHOW(long_min);
+ sc_fxval int_max(INT_MAX); SHOW(int_max);
+ sc_fxval int_min(INT_MIN); SHOW(int_min);
+ sc_fxval uint_max(UINT_MAX); SHOW(uint_max);
+ sc_fxval ulong_max(ULONG_MAX); SHOW(ulong_max);
+
+ sc_fxval double_min(DBL_MIN); SHOW(double_min);
+ sc_fxval double_max(DBL_MAX); SHOW(double_max);
+ sc_fxval float_min(FLT_MIN); SHOW(float_min);
+ sc_fxval float_max(FLT_MAX); SHOW(float_max);
+
+ sc_fxval res;
+
+
+ SHOW_EXPS(zero_min);
+ SHOW_EXPS(zero_plus);
+ SHOW_EXPS(zero);
+}
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_precision_arbitrary.h b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_precision_arbitrary.h
new file mode 100644
index 000000000..c5a999e66
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_precision_arbitrary.h
@@ -0,0 +1,72 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ fx_precision_arbitrary.h --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+// ============================================================================
+//
+// This confidential and proprietary software may be used only
+// as authorized by a licensing agreement from Synopsys, Inc.
+// In the event of publication, the following notice is applicable:
+//
+// Copyright (c) 1999 by Synopsys, Inc.
+// ALL RIGHTS RESERVED
+//
+// The entire notice above must be reproduced on all authorized copies.
+//
+// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+//
+// File : fx_precision_arbitrary.h
+//
+// Abstract : Define arbitrary precision.
+//
+// Author : Martin Janssen
+//
+// Created : 21-jun-1999
+//
+// ============================================================================
+
+#ifndef FRIDGE_INTERPOLATOR
+
+#undef sc_fix
+#undef sc_fixed
+#undef sc_fxval
+#undef sc_ufix
+#undef sc_ufixed
+
+#endif
+
+// That's all folks!
+
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_precision_default.h b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_precision_default.h
new file mode 100644
index 000000000..4853f0b9a
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_precision_default.h
@@ -0,0 +1,68 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ fx_precision_default.h --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+// ============================================================================
+//
+// This confidential and proprietary software may be used only
+// as authorized by a licensing agreement from Synopsys, Inc.
+// In the event of publication, the following notice is applicable:
+//
+// Copyright (c) 1999 by Synopsys, Inc.
+// ALL RIGHTS RESERVED
+//
+// The entire notice above must be reproduced on all authorized copies.
+//
+// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+//
+// File : fx_precision_default.h
+//
+// Abstract : Define default precision.
+//
+// Author : Martin Janssen
+//
+// Created : 21-jun-1999
+//
+// ============================================================================
+
+#ifdef FX_PRECISION_DOUBLE
+# include "fx_precision_double.h"
+#else
+# include "fx_precision_arbitrary.h"
+#endif
+
+// That's all folks!
+
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_precision_double.h b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_precision_double.h
new file mode 100644
index 000000000..6b7c6df7c
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_precision_double.h
@@ -0,0 +1,70 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ fx_precision_double.h --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+// ============================================================================
+//
+// This confidential and proprietary software may be used only
+// as authorized by a licensing agreement from Synopsys, Inc.
+// In the event of publication, the following notice is applicable:
+//
+// Copyright (c) 1999 by Synopsys, Inc.
+// ALL RIGHTS RESERVED
+//
+// The entire notice above must be reproduced on all authorized copies.
+//
+// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+//
+// File : fx_precision_double.h
+//
+// Abstract : Define double precision.
+//
+// Author : Martin Janssen
+//
+// Created : 21-jun-1999
+//
+// ============================================================================
+
+#include "fx_precision_arbitrary.h"
+
+#define sc_fix sc_fix_fast
+#define sc_fixed sc_fixed_fast
+#define sc_fxval sc_fxval_fast
+#define sc_ufix sc_ufix_fast
+#define sc_ufixed sc_ufixed_fast
+
+// That's all folks!
+
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufix_limits.cpp b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufix_limits.cpp
new file mode 100644
index 000000000..edeea6adc
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufix_limits.cpp
@@ -0,0 +1,97 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ fx_ufix_limits.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+// This may look like C code, but it is really -*- C++ -*-
+//
+// fx_ufix_limits.cxx --
+// Copyright Synopsys 1998
+// Author : Ric Hilderink
+// Created On : Fri Jan 8 14:30:41 1999
+// Status : none
+//
+
+
+#include <limits.h>
+#include <math.h>
+
+#define SC_INCLUDE_FX
+#include "systemc.h"
+#include "fx_precision_double.h"
+
+#define SHOW(a) out << #a << " : " << a.to_string(SC_HEX) << "\n"
+#define SHOW_EXP(a) { res = a; out << #a << " : " << res.to_string(SC_HEX) << "\n"; }
+
+
+#define SHOW_EXPRS(a, b) \
+ SHOW_EXP(a b zero_min); \
+ SHOW_EXP(a b zero_plus); \
+ SHOW_EXP(a b zero); \
+ SHOW_EXP(a b long_max); \
+ SHOW_EXP(a b long_min); \
+ SHOW_EXP(a b int_max); \
+ SHOW_EXP(a b int_min); \
+ SHOW_EXP(a b uint_max); \
+ SHOW_EXP(a b ulong_max); \
+ SHOW_EXP(a b double_min); \
+ SHOW_EXP(a b double_max); \
+ SHOW_EXP(a b float_min); \
+ SHOW_EXP(a b float_max);
+
+#define SHOW_EXPS(a) \
+ SHOW_EXPRS(a, /) \
+ SHOW_EXPRS(a, *) \
+ SHOW_EXPRS(a, +) \
+ SHOW_EXPRS(a, -) \
+ SHOW_EXPRS(a, * a *)
+
+
+ extern void test_fx_ufix_limits_zero(ostream&);
+ extern void test_fx_ufix_limits_inf(ostream&);
+ extern void test_fx_ufix_limits_long(ostream&);
+ extern void test_fx_ufix_limits_double(ostream&);
+
+
+void test_fx_ufix_limits(ostream& out)
+{
+ out << "****************** limits fx_ufix\n";
+
+ test_fx_ufix_limits_zero(out);
+ test_fx_ufix_limits_inf(out);
+ test_fx_ufix_limits_long(out);
+ test_fx_ufix_limits_double(out);
+}
+
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufix_limits_double.cpp b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufix_limits_double.cpp
new file mode 100644
index 000000000..69025c352
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufix_limits_double.cpp
@@ -0,0 +1,115 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ fx_ufix_limits_double.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+// This may look like C code, but it is really -*- C++ -*-
+//
+// fx_ufix_limits.cxx --
+// Copyright Synopsys 1998
+// Author : Ric Hilderink
+// Created On : Fri Jan 8 14:30:41 1999
+// Status : none
+//
+
+
+#include <limits.h>
+#include <float.h>
+#include <math.h>
+
+#define SC_INCLUDE_FX
+#include "systemc.h"
+#include "fx_precision_double.h"
+
+#define SHOW(a) out << #a << " : " << a.to_string(SC_HEX) << "\n"
+#define SHOW_EXP(a) { res = a; out << #a << " : " << res.to_string(SC_HEX) << "\n"; }
+
+
+#define SHOW_EXPRS(a, b) \
+ SHOW_EXP(a b zero_min); \
+ SHOW_EXP(a b zero_plus); \
+ SHOW_EXP(a b zero); \
+ SHOW_EXP(a b long_max); \
+ SHOW_EXP(a b long_min); \
+ SHOW_EXP(a b int_max); \
+ SHOW_EXP(a b int_min); \
+ SHOW_EXP(a b uint_max); \
+ SHOW_EXP(a b ulong_max); \
+ SHOW_EXP(a b double_min); \
+ SHOW_EXP(a b double_max); \
+ SHOW_EXP(a b float_min); \
+ SHOW_EXP(a b float_max);
+
+#define SHOW_EXPS(a) \
+ SHOW_EXPRS(a, /) \
+ SHOW_EXPRS(a, *) \
+ SHOW_EXPRS(a, +) \
+ SHOW_EXPRS(a, -) \
+ SHOW_EXPRS(a, >) \
+ SHOW_EXPRS(a, <) \
+ SHOW_EXPRS(a, >=) \
+ SHOW_EXPRS(a, <=) \
+ SHOW_EXPRS(a, ==) \
+ SHOW_EXPRS(a, !=) \
+ SHOW_EXPRS(a, * a *)
+
+
+void test_fx_ufix_limits_double(ostream& out)
+{
+ out << "****************** limits fx_ufix_double\n";
+
+ sc_ufix zero_min("-0"); SHOW(zero_min);
+ sc_ufix zero_plus("+0"); SHOW(zero_plus);
+ sc_ufix zero(0); SHOW(zero);
+
+ sc_ufix long_max(LONG_MAX); SHOW(long_max);
+ sc_ufix long_min(LONG_MIN); SHOW(long_min);
+ sc_ufix int_max(INT_MAX); SHOW(int_max);
+ sc_ufix int_min(INT_MIN); SHOW(int_min);
+ sc_ufix uint_max(UINT_MAX); SHOW(uint_max);
+ sc_ufix ulong_max(ULONG_MAX); SHOW(ulong_max);
+
+ sc_ufix double_min(DBL_MIN); SHOW(double_min);
+ sc_ufix double_max(DBL_MAX); SHOW(double_max);
+ sc_ufix float_min(FLT_MIN); SHOW(float_min);
+ sc_ufix float_max(FLT_MAX); SHOW(float_max);
+
+ // sc_ufix res;
+
+ // SHOW_EXPS(double_min);
+ // SHOW_EXPS(double_max);
+ // SHOW_EXPS(float_min);
+ // SHOW_EXPS(float_max);
+}
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufix_limits_inf.cpp b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufix_limits_inf.cpp
new file mode 100644
index 000000000..2c574b644
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufix_limits_inf.cpp
@@ -0,0 +1,110 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ fx_ufix_limits_inf.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+// This may look like C code, but it is really -*- C++ -*-
+//
+// fx_ufix_limits.cxx --
+// Copyright Synopsys 1998
+// Author : Ric Hilderink
+// Created On : Fri Jan 8 14:30:41 1999
+// Status : none
+//
+
+
+#include <limits.h>
+#include <float.h>
+#include <math.h>
+
+#define SC_INCLUDE_FX
+#include "systemc.h"
+#include "fx_precision_double.h"
+
+#define SHOW(a) out << #a << " : " << a.to_string(SC_HEX) << "\n"
+#define SHOW_EXP(a) { res = a; out << #a << " : " << res.to_string(SC_HEX) << "\n"; }
+
+
+#define SHOW_EXPRS(a, b) \
+ SHOW_EXP(a b zero_min); \
+ SHOW_EXP(a b zero_plus); \
+ SHOW_EXP(a b zero); \
+ SHOW_EXP(a b long_max); \
+ SHOW_EXP(a b long_min); \
+ SHOW_EXP(a b int_max); \
+ SHOW_EXP(a b int_min); \
+ SHOW_EXP(a b uint_max); \
+ SHOW_EXP(a b ulong_max); \
+ SHOW_EXP(a b double_min); \
+ SHOW_EXP(a b double_max); \
+ SHOW_EXP(a b float_min); \
+ SHOW_EXP(a b float_max);
+
+#define SHOW_EXPS(a) \
+ SHOW_EXPRS(a, /) \
+ SHOW_EXPRS(a, *) \
+ SHOW_EXPRS(a, +) \
+ SHOW_EXPRS(a, -) \
+ SHOW_EXPRS(a, >) \
+ SHOW_EXPRS(a, <) \
+ SHOW_EXPRS(a, >=) \
+ SHOW_EXPRS(a, <=) \
+ SHOW_EXPRS(a, ==) \
+ SHOW_EXPRS(a, !=) \
+ SHOW_EXPRS(a, * a *)
+
+
+void test_fx_ufix_limits_inf(ostream& out)
+{
+ out << "****************** limits fx_ufix_inf\n";
+
+ sc_ufix zero_min("-0"); SHOW(zero_min);
+ sc_ufix zero_plus("+0"); SHOW(zero_plus);
+ sc_ufix zero(0); SHOW(zero);
+
+ sc_ufix long_max(LONG_MAX); SHOW(long_max);
+ sc_ufix long_min(LONG_MIN); SHOW(long_min);
+ sc_ufix int_max(INT_MAX); SHOW(int_max);
+ sc_ufix int_min(INT_MIN); SHOW(int_min);
+ sc_ufix uint_max(UINT_MAX); SHOW(uint_max);
+ sc_ufix ulong_max(ULONG_MAX); SHOW(ulong_max);
+
+ sc_ufix double_min(DBL_MIN); SHOW(double_min);
+ sc_ufix double_max(DBL_MAX); SHOW(double_max);
+ sc_ufix float_min(FLT_MIN); SHOW(float_min);
+ sc_ufix float_max(FLT_MAX); SHOW(float_max);
+
+ // sc_ufix res;
+}
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufix_limits_long.cpp b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufix_limits_long.cpp
new file mode 100644
index 000000000..1e9035847
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufix_limits_long.cpp
@@ -0,0 +1,117 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ fx_ufix_limits_long.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+// This may look like C code, but it is really -*- C++ -*-
+//
+// fx_ufix_limits.cxx --
+// Copyright Synopsys 1998
+// Author : Ric Hilderink
+// Created On : Fri Jan 8 14:30:41 1999
+// Status : none
+//
+
+
+#include <limits.h>
+#include <float.h>
+#include <math.h>
+
+#define SC_INCLUDE_FX
+#include "systemc.h"
+#include "fx_precision_double.h"
+
+#define SHOW(a) out << #a << " : " << a.to_string(SC_HEX) << "\n"
+#define SHOW_EXP(a) { res = a; out << #a << " : " << res.to_string(SC_HEX) << "\n"; }
+
+
+#define SHOW_EXPRS(a, b) \
+ SHOW_EXP(a b zero_min); \
+ SHOW_EXP(a b zero_plus); \
+ SHOW_EXP(a b zero); \
+ SHOW_EXP(a b long_max); \
+ SHOW_EXP(a b long_min); \
+ SHOW_EXP(a b int_max); \
+ SHOW_EXP(a b int_min); \
+ SHOW_EXP(a b uint_max); \
+ SHOW_EXP(a b ulong_max); \
+ SHOW_EXP(a b double_min); \
+ SHOW_EXP(a b double_max); \
+ SHOW_EXP(a b float_min); \
+ SHOW_EXP(a b float_max);
+
+#define SHOW_EXPS(a) \
+ SHOW_EXPRS(a, /) \
+ SHOW_EXPRS(a, *) \
+ SHOW_EXPRS(a, +) \
+ SHOW_EXPRS(a, -) \
+ SHOW_EXPRS(a, >) \
+ SHOW_EXPRS(a, <) \
+ SHOW_EXPRS(a, >=) \
+ SHOW_EXPRS(a, <=) \
+ SHOW_EXPRS(a, ==) \
+ SHOW_EXPRS(a, !=) \
+ SHOW_EXPRS(a, * a *)
+
+
+void test_fx_ufix_limits_long(ostream& out)
+{
+ out << "****************** limits fx_ufix_long\n";
+
+ sc_ufix zero_min("-0"); SHOW(zero_min);
+ sc_ufix zero_plus("+0"); SHOW(zero_plus);
+ sc_ufix zero(0); SHOW(zero);
+
+ sc_ufix long_max(LONG_MAX); SHOW(long_max);
+ sc_ufix long_min(LONG_MIN); SHOW(long_min);
+ sc_ufix int_max(INT_MAX); SHOW(int_max);
+ sc_ufix int_min(INT_MIN); SHOW(int_min);
+ sc_ufix uint_max(UINT_MAX); SHOW(uint_max);
+ sc_ufix ulong_max(ULONG_MAX); SHOW(ulong_max);
+
+ sc_ufix double_min(DBL_MIN); SHOW(double_min);
+ sc_ufix double_max(DBL_MAX); SHOW(double_max);
+ sc_ufix float_min(FLT_MIN); SHOW(float_min);
+ sc_ufix float_max(FLT_MAX); SHOW(float_max);
+
+ // sc_ufix res;
+
+ // SHOW_EXPS(long_max);
+ // SHOW_EXPS(long_min);
+ // SHOW_EXPS(int_max);
+ // SHOW_EXPS(int_min);
+ // SHOW_EXPS(uint_max);
+ // SHOW_EXPS(ulong_max);
+}
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufix_limits_zero.cpp b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufix_limits_zero.cpp
new file mode 100644
index 000000000..3e415aaec
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufix_limits_zero.cpp
@@ -0,0 +1,110 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ fx_ufix_limits_zero.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+// This may look like C code, but it is really -*- C++ -*-
+//
+// fx_ufix_limits.cxx --
+// Copyright Synopsys 1998
+// Author : Ric Hilderink
+// Created On : Fri Jan 8 14:30:41 1999
+// Status : none
+//
+
+
+#include <limits.h>
+#include <float.h>
+#include <math.h>
+
+#define SC_INCLUDE_FX
+#include "systemc.h"
+#include "fx_precision_double.h"
+
+#define SHOW(a) out << #a << " : " << a.to_string(SC_HEX) << "\n"
+#define SHOW_EXP(a) { res = a; out << #a << " : " << res.to_string(SC_HEX) << "\n"; }
+
+
+#define SHOW_EXPRS(a, b) \
+ SHOW_EXP(a b zero_min); \
+ SHOW_EXP(a b zero_plus); \
+ SHOW_EXP(a b zero); \
+ SHOW_EXP(a b long_max); \
+ SHOW_EXP(a b long_min); \
+ SHOW_EXP(a b int_max); \
+ SHOW_EXP(a b int_min); \
+ SHOW_EXP(a b uint_max); \
+ SHOW_EXP(a b ulong_max); \
+ SHOW_EXP(a b double_min); \
+ SHOW_EXP(a b double_max); \
+ SHOW_EXP(a b float_min); \
+ SHOW_EXP(a b float_max);
+
+#define SHOW_EXPS(a) \
+ SHOW_EXPRS(a, /) \
+ SHOW_EXPRS(a, *) \
+ SHOW_EXPRS(a, +) \
+ SHOW_EXPRS(a, -) \
+ SHOW_EXPRS(a, >) \
+ SHOW_EXPRS(a, <) \
+ SHOW_EXPRS(a, >=) \
+ SHOW_EXPRS(a, <=) \
+ SHOW_EXPRS(a, ==) \
+ SHOW_EXPRS(a, !=) \
+ SHOW_EXPRS(a, * a *)
+
+
+void test_fx_ufix_limits_zero(ostream& out)
+{
+ out << "****************** limits fx_ufix_zero\n";
+
+ sc_ufix zero_min("-0"); SHOW(zero_min);
+ sc_ufix zero_plus("+0"); SHOW(zero_plus);
+ sc_ufix zero(0); SHOW(zero);
+
+ sc_ufix long_max(LONG_MAX); SHOW(long_max);
+ sc_ufix long_min(LONG_MIN); SHOW(long_min);
+ sc_ufix int_max(INT_MAX); SHOW(int_max);
+ sc_ufix int_min(INT_MIN); SHOW(int_min);
+ sc_ufix uint_max(UINT_MAX); SHOW(uint_max);
+ sc_ufix ulong_max(ULONG_MAX); SHOW(ulong_max);
+
+ sc_ufix double_min(DBL_MIN); SHOW(double_min);
+ sc_ufix double_max(DBL_MAX); SHOW(double_max);
+ sc_ufix float_min(FLT_MIN); SHOW(float_min);
+ sc_ufix float_max(FLT_MAX); SHOW(float_max);
+
+ // sc_ufix res;
+}
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufixed_limits.cpp b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufixed_limits.cpp
new file mode 100644
index 000000000..2968baadb
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufixed_limits.cpp
@@ -0,0 +1,96 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ fx_ufixed_limits.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+// This may look like C code, but it is really -*- C++ -*-
+//
+// fx_ufixed<8, 5>_limits.cxx --
+// Copyright Synopsys 1998
+// Author : Ric Hilderink
+// Created On : Fri Jan 8 14:30:41 1999
+// Status : none
+//
+
+
+#include <limits.h>
+#include <math.h>
+
+#define SC_INCLUDE_FX
+#include "systemc.h"
+#include "fx_precision_double.h"
+
+#define SHOW(a) out << #a << " : " << a.to_string(SC_HEX) << "\n"
+#define SHOW_EXP(a) { res = a; out << #a << " : " << res.to_string(SC_HEX) << "\n"; }
+
+
+#define SHOW_EXPRS(a, b) \
+ SHOW_EXP(a b zero_min); \
+ SHOW_EXP(a b zero_plus); \
+ SHOW_EXP(a b zero); \
+ SHOW_EXP(a b long_max); \
+ SHOW_EXP(a b long_min); \
+ SHOW_EXP(a b int_max); \
+ SHOW_EXP(a b int_min); \
+ SHOW_EXP(a b uint_max); \
+ SHOW_EXP(a b ulong_max); \
+ SHOW_EXP(a b double_min); \
+ SHOW_EXP(a b double_max); \
+ SHOW_EXP(a b float_min); \
+ SHOW_EXP(a b float_max);
+
+#define SHOW_EXPS(a) \
+ SHOW_EXPRS(a, /) \
+ SHOW_EXPRS(a, *) \
+ SHOW_EXPRS(a, +) \
+ SHOW_EXPRS(a, -) \
+ SHOW_EXPRS(a, * a *)
+
+ extern void test_fx_ufixed_limits_zero(ostream&);
+ extern void test_fx_ufixed_limits_inf(ostream&);
+ extern void test_fx_ufixed_limits_long(ostream&);
+ extern void test_fx_ufixed_limits_double(ostream&);
+
+
+void test_fx_ufixed_limits(ostream& out)
+{
+ out << "****************** limits fx_ufixed<8, 5>\n";
+
+ test_fx_ufixed_limits_zero(out);
+ test_fx_ufixed_limits_inf(out);
+ test_fx_ufixed_limits_long(out);
+ test_fx_ufixed_limits_double(out);
+}
+
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufixed_limits_double.cpp b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufixed_limits_double.cpp
new file mode 100644
index 000000000..4722d9954
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufixed_limits_double.cpp
@@ -0,0 +1,115 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ fx_ufixed_limits_double.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+// This may look like C code, but it is really -*- C++ -*-
+//
+// fx_ufixed<8, 5>_limits.cxx --
+// Copyright Synopsys 1998
+// Author : Ric Hilderink
+// Created On : Fri Jan 8 14:30:41 1999
+// Status : none
+//
+
+
+#include <limits.h>
+#include <float.h>
+#include <math.h>
+
+#define SC_INCLUDE_FX
+#include "systemc.h"
+#include "fx_precision_double.h"
+
+#define SHOW(a) out << #a << " : " << a.to_string(SC_HEX) << "\n"
+#define SHOW_EXP(a) { res = a; out << #a << " : " << res.to_string(SC_HEX) << "\n"; }
+
+
+#define SHOW_EXPRS(a, b) \
+ SHOW_EXP(a b zero_min); \
+ SHOW_EXP(a b zero_plus); \
+ SHOW_EXP(a b zero); \
+ SHOW_EXP(a b long_max); \
+ SHOW_EXP(a b long_min); \
+ SHOW_EXP(a b int_max); \
+ SHOW_EXP(a b int_min); \
+ SHOW_EXP(a b uint_max); \
+ SHOW_EXP(a b ulong_max); \
+ SHOW_EXP(a b double_min); \
+ SHOW_EXP(a b double_max); \
+ SHOW_EXP(a b float_min); \
+ SHOW_EXP(a b float_max);
+
+#define SHOW_EXPS(a) \
+ SHOW_EXPRS(a, /) \
+ SHOW_EXPRS(a, *) \
+ SHOW_EXPRS(a, +) \
+ SHOW_EXPRS(a, -) \
+ SHOW_EXPRS(a, >) \
+ SHOW_EXPRS(a, <) \
+ SHOW_EXPRS(a, >=) \
+ SHOW_EXPRS(a, <=) \
+ SHOW_EXPRS(a, ==) \
+ SHOW_EXPRS(a, !=) \
+ SHOW_EXPRS(a, * a *)
+
+
+void test_fx_ufixed_limits_double(ostream& out)
+{
+ out << "****************** limits fx_ufixed<8, 5>_double\n";
+
+ sc_ufixed<8, 5> zero_min("-0"); SHOW(zero_min);
+ sc_ufixed<8, 5> zero_plus("+0"); SHOW(zero_plus);
+ sc_ufixed<8, 5> zero(0); SHOW(zero);
+
+ sc_ufixed<8, 5> long_max(LONG_MAX); SHOW(long_max);
+ sc_ufixed<8, 5> long_min(LONG_MIN); SHOW(long_min);
+ sc_ufixed<8, 5> int_max(INT_MAX); SHOW(int_max);
+ sc_ufixed<8, 5> int_min(INT_MIN); SHOW(int_min);
+ sc_ufixed<8, 5> uint_max(UINT_MAX); SHOW(uint_max);
+ sc_ufixed<8, 5> ulong_max(ULONG_MAX); SHOW(ulong_max);
+
+ sc_ufixed<8, 5> double_min(DBL_MIN); SHOW(double_min);
+ sc_ufixed<8, 5> double_max(DBL_MAX); SHOW(double_max);
+ sc_ufixed<8, 5> float_min(FLT_MIN); SHOW(float_min);
+ sc_ufixed<8, 5> float_max(FLT_MAX); SHOW(float_max);
+
+ // sc_ufixed<8, 5> res;
+
+ // SHOW_EXPS(double_min);
+ // SHOW_EXPS(double_max);
+ // SHOW_EXPS(float_min);
+ // SHOW_EXPS(float_max);
+}
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufixed_limits_inf.cpp b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufixed_limits_inf.cpp
new file mode 100644
index 000000000..05d63d1b4
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufixed_limits_inf.cpp
@@ -0,0 +1,110 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ fx_ufixed_limits_inf.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+// This may look like C code, but it is really -*- C++ -*-
+//
+// fx_ufixed<8, 5>_limits.cxx --
+// Copyright Synopsys 1998
+// Author : Ric Hilderink
+// Created On : Fri Jan 8 14:30:41 1999
+// Status : none
+//
+
+
+#include <limits.h>
+#include <float.h>
+#include <math.h>
+
+#define SC_INCLUDE_FX
+#include "systemc.h"
+#include "fx_precision_double.h"
+
+#define SHOW(a) out << #a << " : " << a.to_string(SC_HEX) << "\n"
+#define SHOW_EXP(a) { res = a; out << #a << " : " << res.to_string(SC_HEX) << "\n"; }
+
+
+#define SHOW_EXPRS(a, b) \
+ SHOW_EXP(a b zero_min); \
+ SHOW_EXP(a b zero_plus); \
+ SHOW_EXP(a b zero); \
+ SHOW_EXP(a b long_max); \
+ SHOW_EXP(a b long_min); \
+ SHOW_EXP(a b int_max); \
+ SHOW_EXP(a b int_min); \
+ SHOW_EXP(a b uint_max); \
+ SHOW_EXP(a b ulong_max); \
+ SHOW_EXP(a b double_min); \
+ SHOW_EXP(a b double_max); \
+ SHOW_EXP(a b float_min); \
+ SHOW_EXP(a b float_max);
+
+#define SHOW_EXPS(a) \
+ SHOW_EXPRS(a, /) \
+ SHOW_EXPRS(a, *) \
+ SHOW_EXPRS(a, +) \
+ SHOW_EXPRS(a, -) \
+ SHOW_EXPRS(a, >) \
+ SHOW_EXPRS(a, <) \
+ SHOW_EXPRS(a, >=) \
+ SHOW_EXPRS(a, <=) \
+ SHOW_EXPRS(a, ==) \
+ SHOW_EXPRS(a, !=) \
+ SHOW_EXPRS(a, * a *)
+
+
+void test_fx_ufixed_limits_inf(ostream& out)
+{
+ out << "****************** limits fx_ufixed<8, 5>_inf\n";
+
+ sc_ufixed<8, 5> zero_min("-0"); SHOW(zero_min);
+ sc_ufixed<8, 5> zero_plus("+0"); SHOW(zero_plus);
+ sc_ufixed<8, 5> zero(0); SHOW(zero);
+
+ sc_ufixed<8, 5> long_max(LONG_MAX); SHOW(long_max);
+ sc_ufixed<8, 5> long_min(LONG_MIN); SHOW(long_min);
+ sc_ufixed<8, 5> int_max(INT_MAX); SHOW(int_max);
+ sc_ufixed<8, 5> int_min(INT_MIN); SHOW(int_min);
+ sc_ufixed<8, 5> uint_max(UINT_MAX); SHOW(uint_max);
+ sc_ufixed<8, 5> ulong_max(ULONG_MAX); SHOW(ulong_max);
+
+ sc_ufixed<8, 5> double_min(DBL_MIN); SHOW(double_min);
+ sc_ufixed<8, 5> double_max(DBL_MAX); SHOW(double_max);
+ sc_ufixed<8, 5> float_min(FLT_MIN); SHOW(float_min);
+ sc_ufixed<8, 5> float_max(FLT_MAX); SHOW(float_max);
+
+ // sc_ufixed<8, 5> res;
+}
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufixed_limits_long.cpp b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufixed_limits_long.cpp
new file mode 100644
index 000000000..c96842272
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufixed_limits_long.cpp
@@ -0,0 +1,117 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ fx_ufixed_limits_long.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+// This may look like C code, but it is really -*- C++ -*-
+//
+// fx_ufixed<8, 5>_limits.cxx --
+// Copyright Synopsys 1998
+// Author : Ric Hilderink
+// Created On : Fri Jan 8 14:30:41 1999
+// Status : none
+//
+
+
+#include <limits.h>
+#include <float.h>
+#include <math.h>
+
+#define SC_INCLUDE_FX
+#include "systemc.h"
+#include "fx_precision_double.h"
+
+#define SHOW(a) out << #a << " : " << a.to_string(SC_HEX) << "\n"
+#define SHOW_EXP(a) { res = a; out << #a << " : " << res.to_string(SC_HEX) << "\n"; }
+
+
+#define SHOW_EXPRS(a, b) \
+ SHOW_EXP(a b zero_min); \
+ SHOW_EXP(a b zero_plus); \
+ SHOW_EXP(a b zero); \
+ SHOW_EXP(a b long_max); \
+ SHOW_EXP(a b long_min); \
+ SHOW_EXP(a b int_max); \
+ SHOW_EXP(a b int_min); \
+ SHOW_EXP(a b uint_max); \
+ SHOW_EXP(a b ulong_max); \
+ SHOW_EXP(a b double_min); \
+ SHOW_EXP(a b double_max); \
+ SHOW_EXP(a b float_min); \
+ SHOW_EXP(a b float_max);
+
+#define SHOW_EXPS(a) \
+ SHOW_EXPRS(a, /) \
+ SHOW_EXPRS(a, *) \
+ SHOW_EXPRS(a, +) \
+ SHOW_EXPRS(a, -) \
+ SHOW_EXPRS(a, >) \
+ SHOW_EXPRS(a, <) \
+ SHOW_EXPRS(a, >=) \
+ SHOW_EXPRS(a, <=) \
+ SHOW_EXPRS(a, ==) \
+ SHOW_EXPRS(a, !=) \
+ SHOW_EXPRS(a, * a *)
+
+
+void test_fx_ufixed_limits_long(ostream& out)
+{
+ out << "****************** limits fx_ufixed<8, 5>_long\n";
+
+ sc_ufixed<8, 5> zero_min("-0"); SHOW(zero_min);
+ sc_ufixed<8, 5> zero_plus("+0"); SHOW(zero_plus);
+ sc_ufixed<8, 5> zero(0); SHOW(zero);
+
+ sc_ufixed<8, 5> long_max(LONG_MAX); SHOW(long_max);
+ sc_ufixed<8, 5> long_min(LONG_MIN); SHOW(long_min);
+ sc_ufixed<8, 5> int_max(INT_MAX); SHOW(int_max);
+ sc_ufixed<8, 5> int_min(INT_MIN); SHOW(int_min);
+ sc_ufixed<8, 5> uint_max(UINT_MAX); SHOW(uint_max);
+ sc_ufixed<8, 5> ulong_max(ULONG_MAX); SHOW(ulong_max);
+
+ sc_ufixed<8, 5> double_min(DBL_MIN); SHOW(double_min);
+ sc_ufixed<8, 5> double_max(DBL_MAX); SHOW(double_max);
+ sc_ufixed<8, 5> float_min(FLT_MIN); SHOW(float_min);
+ sc_ufixed<8, 5> float_max(FLT_MAX); SHOW(float_max);
+
+ // sc_ufixed<8, 5> res;
+
+ // SHOW_EXPS(long_max);
+ // SHOW_EXPS(long_min);
+ // SHOW_EXPS(int_max);
+ // SHOW_EXPS(int_min);
+ // SHOW_EXPS(uint_max);
+ // SHOW_EXPS(ulong_max);
+}
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufixed_limits_zero.cpp b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufixed_limits_zero.cpp
new file mode 100644
index 000000000..37fd6a016
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/fx_ufixed_limits_zero.cpp
@@ -0,0 +1,115 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ fx_ufixed_limits_zero.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+// This may look like C code, but it is really -*- C++ -*-
+//
+// fx_ufixed<8, 5>_limits.cxx --
+// Copyright Synopsys 1998
+// Author : Ric Hilderink
+// Created On : Fri Jan 8 14:30:41 1999
+// Status : none
+//
+
+
+#include <limits.h>
+#include <float.h>
+#include <math.h>
+
+#define SC_INCLUDE_FX
+#include "systemc.h"
+#include "fx_precision_double.h"
+
+#define SHOW(a) out << #a << " : " << a.to_string(SC_HEX) << "\n"
+#define SHOW_EXP(a) { res = a; out << #a << " : " << res.to_string(SC_HEX) << "\n"; }
+
+
+#define SHOW_EXPRS(a, b) \
+ SHOW_EXP(a b zero_min); \
+ SHOW_EXP(a b zero_plus); \
+ SHOW_EXP(a b zero); \
+ SHOW_EXP(a b long_max); \
+ SHOW_EXP(a b long_min); \
+ SHOW_EXP(a b int_max); \
+ SHOW_EXP(a b int_min); \
+ SHOW_EXP(a b uint_max); \
+ SHOW_EXP(a b ulong_max); \
+ SHOW_EXP(a b double_min); \
+ SHOW_EXP(a b double_max); \
+ SHOW_EXP(a b float_min); \
+ SHOW_EXP(a b float_max);
+
+#define SHOW_EXPS(a) \
+ SHOW_EXPRS(a, /) \
+ SHOW_EXPRS(a, *) \
+ SHOW_EXPRS(a, +) \
+ SHOW_EXPRS(a, -) \
+ SHOW_EXPRS(a, >) \
+ SHOW_EXPRS(a, <) \
+ SHOW_EXPRS(a, >=) \
+ SHOW_EXPRS(a, <=) \
+ SHOW_EXPRS(a, ==) \
+ SHOW_EXPRS(a, !=) \
+ SHOW_EXPRS(a, * a *)
+
+
+void test_fx_ufixed_limits_zero(ostream& out)
+{
+ out << "****************** limits fx_ufixed<8, 5>_zero\n";
+
+ sc_ufixed<8, 5> zero_min("-0"); SHOW(zero_min);
+ sc_ufixed<8, 5> zero_plus("+0"); SHOW(zero_plus);
+ sc_ufixed<8, 5> zero(0); SHOW(zero);
+
+ sc_ufixed<8, 5> long_max(LONG_MAX); SHOW(long_max);
+ sc_ufixed<8, 5> long_min(LONG_MIN); SHOW(long_min);
+ sc_ufixed<8, 5> int_max(INT_MAX); SHOW(int_max);
+ sc_ufixed<8, 5> int_min(INT_MIN); SHOW(int_min);
+ sc_ufixed<8, 5> uint_max(UINT_MAX); SHOW(uint_max);
+ sc_ufixed<8, 5> ulong_max(ULONG_MAX); SHOW(ulong_max);
+
+ sc_ufixed<8, 5> double_min(DBL_MIN); SHOW(double_min);
+ sc_ufixed<8, 5> double_max(DBL_MAX); SHOW(double_max);
+ sc_ufixed<8, 5> float_min(FLT_MIN); SHOW(float_min);
+ sc_ufixed<8, 5> float_max(FLT_MAX); SHOW(float_max);
+
+ // sc_ufixed<8, 5> res;
+
+
+ // SHOW_EXPS(zero_min);
+ // SHOW_EXPS(zero_plus);
+ // SHOW_EXPS(zero);
+}
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log b/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log
new file mode 100644
index 000000000..a0a91bb5b
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log
@@ -0,0 +1,3482 @@
+SystemC Simulation
+****************** limits fx_float_zero
+****************** limits fx_float_inf
+****************** limits fx_float
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x7fffffff
+long_min : 0x8e+7
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+zero_min / zero_min : NaN
+zero_min / zero_plus : NaN
+zero_min / zero : NaN
+zero_min / NaN : NaN
+zero_min / Inf_plus : 0x0
+zero_min / Inf_min : 0x0
+zero_min / Inf : 0x0
+zero_min / long_max : 0x0
+zero_min / long_min : 0x0
+zero_min / int_max : 0x0
+zero_min / int_min : 0x0
+zero_min / uint_max : 0x0
+zero_min / ulong_max : 0x0
+zero_min / double_min : 0x0
+zero_min / double_max : 0x0
+zero_min / float_min : 0x0
+zero_min / float_max : 0x0
+zero_min * zero_min : 0x0
+zero_min * zero_plus : 0x0
+zero_min * zero : 0x0
+zero_min * NaN : NaN
+zero_min * Inf_plus : NaN
+zero_min * Inf_min : NaN
+zero_min * Inf : NaN
+zero_min * long_max : 0x0
+zero_min * long_min : 0x0
+zero_min * int_max : 0x0
+zero_min * int_min : 0x0
+zero_min * uint_max : 0x0
+zero_min * ulong_max : 0x0
+zero_min * double_min : 0x0
+zero_min * double_max : 0x0
+zero_min * float_min : 0x0
+zero_min * float_max : 0x0
+zero_min + zero_min : 0x0
+zero_min + zero_plus : 0x0
+zero_min + zero : 0x0
+zero_min + NaN : NaN
+zero_min + Inf_plus : Inf
+zero_min + Inf_min : -Inf
+zero_min + Inf : Inf
+zero_min + long_max : 0x7fffffff
+zero_min + long_min : 0x8e+7
+zero_min + int_max : 0x7fffffff
+zero_min + int_min : 0x8e+7
+zero_min + uint_max : 0x0ffffffff
+zero_min + ulong_max : 0x0ffffffff
+zero_min + double_min : 0x.4e-255
+zero_min + double_max : 0x0fffffffffffff8e+242
+zero_min + float_min : 0x.4e-31
+zero_min + float_max : 0x0ffffffe+26
+zero_min - zero_min : 0x0
+zero_min - zero_plus : 0x0
+zero_min - zero : 0x0
+zero_min - NaN : NaN
+zero_min - Inf_plus : -Inf
+zero_min - Inf_min : Inf
+zero_min - Inf : -Inf
+zero_min - long_max : 0x80000001
+zero_min - long_min : 0x08e+7
+zero_min - int_max : 0x80000001
+zero_min - int_min : 0x08e+7
+zero_min - uint_max : 0xf00000001
+zero_min - ulong_max : 0xf00000001
+zero_min - double_min : 0x.ce-255
+zero_min - double_max : 0xf00000000000008e+242
+zero_min - float_min : 0x.ce-31
+zero_min - float_max : 0xf000001e+26
+zero_min > zero_min : 0x0
+zero_min > zero_plus : 0x0
+zero_min > zero : 0x0
+zero_min > NaN : 0x0
+zero_min > Inf_plus : 0x0
+zero_min > Inf_min : 0x1
+zero_min > Inf : 0x0
+zero_min > long_max : 0x0
+zero_min > long_min : 0x1
+zero_min > int_max : 0x0
+zero_min > int_min : 0x1
+zero_min > uint_max : 0x0
+zero_min > ulong_max : 0x0
+zero_min > double_min : 0x0
+zero_min > double_max : 0x0
+zero_min > float_min : 0x0
+zero_min > float_max : 0x0
+zero_min < zero_min : 0x0
+zero_min < zero_plus : 0x0
+zero_min < zero : 0x0
+zero_min < NaN : 0x0
+zero_min < Inf_plus : 0x1
+zero_min < Inf_min : 0x0
+zero_min < Inf : 0x1
+zero_min < long_max : 0x1
+zero_min < long_min : 0x0
+zero_min < int_max : 0x1
+zero_min < int_min : 0x0
+zero_min < uint_max : 0x1
+zero_min < ulong_max : 0x1
+zero_min < double_min : 0x1
+zero_min < double_max : 0x1
+zero_min < float_min : 0x1
+zero_min < float_max : 0x1
+zero_min >= zero_min : 0x1
+zero_min >= zero_plus : 0x1
+zero_min >= zero : 0x1
+zero_min >= NaN : 0x0
+zero_min >= Inf_plus : 0x0
+zero_min >= Inf_min : 0x1
+zero_min >= Inf : 0x0
+zero_min >= long_max : 0x0
+zero_min >= long_min : 0x1
+zero_min >= int_max : 0x0
+zero_min >= int_min : 0x1
+zero_min >= uint_max : 0x0
+zero_min >= ulong_max : 0x0
+zero_min >= double_min : 0x0
+zero_min >= double_max : 0x0
+zero_min >= float_min : 0x0
+zero_min >= float_max : 0x0
+zero_min <= zero_min : 0x1
+zero_min <= zero_plus : 0x1
+zero_min <= zero : 0x1
+zero_min <= NaN : 0x0
+zero_min <= Inf_plus : 0x1
+zero_min <= Inf_min : 0x0
+zero_min <= Inf : 0x1
+zero_min <= long_max : 0x1
+zero_min <= long_min : 0x0
+zero_min <= int_max : 0x1
+zero_min <= int_min : 0x0
+zero_min <= uint_max : 0x1
+zero_min <= ulong_max : 0x1
+zero_min <= double_min : 0x1
+zero_min <= double_max : 0x1
+zero_min <= float_min : 0x1
+zero_min <= float_max : 0x1
+zero_min == zero_min : 0x1
+zero_min == zero_plus : 0x1
+zero_min == zero : 0x1
+zero_min == NaN : 0x0
+zero_min == Inf_plus : 0x0
+zero_min == Inf_min : 0x0
+zero_min == Inf : 0x0
+zero_min == long_max : 0x0
+zero_min == long_min : 0x0
+zero_min == int_max : 0x0
+zero_min == int_min : 0x0
+zero_min == uint_max : 0x0
+zero_min == ulong_max : 0x0
+zero_min == double_min : 0x0
+zero_min == double_max : 0x0
+zero_min == float_min : 0x0
+zero_min == float_max : 0x0
+zero_min != zero_min : 0x0
+zero_min != zero_plus : 0x0
+zero_min != zero : 0x0
+zero_min != NaN : 0x1
+zero_min != Inf_plus : 0x1
+zero_min != Inf_min : 0x1
+zero_min != Inf : 0x1
+zero_min != long_max : 0x1
+zero_min != long_min : 0x1
+zero_min != int_max : 0x1
+zero_min != int_min : 0x1
+zero_min != uint_max : 0x1
+zero_min != ulong_max : 0x1
+zero_min != double_min : 0x1
+zero_min != double_max : 0x1
+zero_min != float_min : 0x1
+zero_min != float_max : 0x1
+zero_min * zero_min * zero_min : 0x0
+zero_min * zero_min * zero_plus : 0x0
+zero_min * zero_min * zero : 0x0
+zero_min * zero_min * NaN : NaN
+zero_min * zero_min * Inf_plus : NaN
+zero_min * zero_min * Inf_min : NaN
+zero_min * zero_min * Inf : NaN
+zero_min * zero_min * long_max : 0x0
+zero_min * zero_min * long_min : 0x0
+zero_min * zero_min * int_max : 0x0
+zero_min * zero_min * int_min : 0x0
+zero_min * zero_min * uint_max : 0x0
+zero_min * zero_min * ulong_max : 0x0
+zero_min * zero_min * double_min : 0x0
+zero_min * zero_min * double_max : 0x0
+zero_min * zero_min * float_min : 0x0
+zero_min * zero_min * float_max : 0x0
+zero_plus / zero_min : NaN
+zero_plus / zero_plus : NaN
+zero_plus / zero : NaN
+zero_plus / NaN : NaN
+zero_plus / Inf_plus : 0x0
+zero_plus / Inf_min : 0x0
+zero_plus / Inf : 0x0
+zero_plus / long_max : 0x0
+zero_plus / long_min : 0x0
+zero_plus / int_max : 0x0
+zero_plus / int_min : 0x0
+zero_plus / uint_max : 0x0
+zero_plus / ulong_max : 0x0
+zero_plus / double_min : 0x0
+zero_plus / double_max : 0x0
+zero_plus / float_min : 0x0
+zero_plus / float_max : 0x0
+zero_plus * zero_min : 0x0
+zero_plus * zero_plus : 0x0
+zero_plus * zero : 0x0
+zero_plus * NaN : NaN
+zero_plus * Inf_plus : NaN
+zero_plus * Inf_min : NaN
+zero_plus * Inf : NaN
+zero_plus * long_max : 0x0
+zero_plus * long_min : 0x0
+zero_plus * int_max : 0x0
+zero_plus * int_min : 0x0
+zero_plus * uint_max : 0x0
+zero_plus * ulong_max : 0x0
+zero_plus * double_min : 0x0
+zero_plus * double_max : 0x0
+zero_plus * float_min : 0x0
+zero_plus * float_max : 0x0
+zero_plus + zero_min : 0x0
+zero_plus + zero_plus : 0x0
+zero_plus + zero : 0x0
+zero_plus + NaN : NaN
+zero_plus + Inf_plus : Inf
+zero_plus + Inf_min : -Inf
+zero_plus + Inf : Inf
+zero_plus + long_max : 0x7fffffff
+zero_plus + long_min : 0x8e+7
+zero_plus + int_max : 0x7fffffff
+zero_plus + int_min : 0x8e+7
+zero_plus + uint_max : 0x0ffffffff
+zero_plus + ulong_max : 0x0ffffffff
+zero_plus + double_min : 0x.4e-255
+zero_plus + double_max : 0x0fffffffffffff8e+242
+zero_plus + float_min : 0x.4e-31
+zero_plus + float_max : 0x0ffffffe+26
+zero_plus - zero_min : 0x0
+zero_plus - zero_plus : 0x0
+zero_plus - zero : 0x0
+zero_plus - NaN : NaN
+zero_plus - Inf_plus : -Inf
+zero_plus - Inf_min : Inf
+zero_plus - Inf : -Inf
+zero_plus - long_max : 0x80000001
+zero_plus - long_min : 0x08e+7
+zero_plus - int_max : 0x80000001
+zero_plus - int_min : 0x08e+7
+zero_plus - uint_max : 0xf00000001
+zero_plus - ulong_max : 0xf00000001
+zero_plus - double_min : 0x.ce-255
+zero_plus - double_max : 0xf00000000000008e+242
+zero_plus - float_min : 0x.ce-31
+zero_plus - float_max : 0xf000001e+26
+zero_plus > zero_min : 0x0
+zero_plus > zero_plus : 0x0
+zero_plus > zero : 0x0
+zero_plus > NaN : 0x0
+zero_plus > Inf_plus : 0x0
+zero_plus > Inf_min : 0x1
+zero_plus > Inf : 0x0
+zero_plus > long_max : 0x0
+zero_plus > long_min : 0x1
+zero_plus > int_max : 0x0
+zero_plus > int_min : 0x1
+zero_plus > uint_max : 0x0
+zero_plus > ulong_max : 0x0
+zero_plus > double_min : 0x0
+zero_plus > double_max : 0x0
+zero_plus > float_min : 0x0
+zero_plus > float_max : 0x0
+zero_plus < zero_min : 0x0
+zero_plus < zero_plus : 0x0
+zero_plus < zero : 0x0
+zero_plus < NaN : 0x0
+zero_plus < Inf_plus : 0x1
+zero_plus < Inf_min : 0x0
+zero_plus < Inf : 0x1
+zero_plus < long_max : 0x1
+zero_plus < long_min : 0x0
+zero_plus < int_max : 0x1
+zero_plus < int_min : 0x0
+zero_plus < uint_max : 0x1
+zero_plus < ulong_max : 0x1
+zero_plus < double_min : 0x1
+zero_plus < double_max : 0x1
+zero_plus < float_min : 0x1
+zero_plus < float_max : 0x1
+zero_plus >= zero_min : 0x1
+zero_plus >= zero_plus : 0x1
+zero_plus >= zero : 0x1
+zero_plus >= NaN : 0x0
+zero_plus >= Inf_plus : 0x0
+zero_plus >= Inf_min : 0x1
+zero_plus >= Inf : 0x0
+zero_plus >= long_max : 0x0
+zero_plus >= long_min : 0x1
+zero_plus >= int_max : 0x0
+zero_plus >= int_min : 0x1
+zero_plus >= uint_max : 0x0
+zero_plus >= ulong_max : 0x0
+zero_plus >= double_min : 0x0
+zero_plus >= double_max : 0x0
+zero_plus >= float_min : 0x0
+zero_plus >= float_max : 0x0
+zero_plus <= zero_min : 0x1
+zero_plus <= zero_plus : 0x1
+zero_plus <= zero : 0x1
+zero_plus <= NaN : 0x0
+zero_plus <= Inf_plus : 0x1
+zero_plus <= Inf_min : 0x0
+zero_plus <= Inf : 0x1
+zero_plus <= long_max : 0x1
+zero_plus <= long_min : 0x0
+zero_plus <= int_max : 0x1
+zero_plus <= int_min : 0x0
+zero_plus <= uint_max : 0x1
+zero_plus <= ulong_max : 0x1
+zero_plus <= double_min : 0x1
+zero_plus <= double_max : 0x1
+zero_plus <= float_min : 0x1
+zero_plus <= float_max : 0x1
+zero_plus == zero_min : 0x1
+zero_plus == zero_plus : 0x1
+zero_plus == zero : 0x1
+zero_plus == NaN : 0x0
+zero_plus == Inf_plus : 0x0
+zero_plus == Inf_min : 0x0
+zero_plus == Inf : 0x0
+zero_plus == long_max : 0x0
+zero_plus == long_min : 0x0
+zero_plus == int_max : 0x0
+zero_plus == int_min : 0x0
+zero_plus == uint_max : 0x0
+zero_plus == ulong_max : 0x0
+zero_plus == double_min : 0x0
+zero_plus == double_max : 0x0
+zero_plus == float_min : 0x0
+zero_plus == float_max : 0x0
+zero_plus != zero_min : 0x0
+zero_plus != zero_plus : 0x0
+zero_plus != zero : 0x0
+zero_plus != NaN : 0x1
+zero_plus != Inf_plus : 0x1
+zero_plus != Inf_min : 0x1
+zero_plus != Inf : 0x1
+zero_plus != long_max : 0x1
+zero_plus != long_min : 0x1
+zero_plus != int_max : 0x1
+zero_plus != int_min : 0x1
+zero_plus != uint_max : 0x1
+zero_plus != ulong_max : 0x1
+zero_plus != double_min : 0x1
+zero_plus != double_max : 0x1
+zero_plus != float_min : 0x1
+zero_plus != float_max : 0x1
+zero_plus * zero_plus * zero_min : 0x0
+zero_plus * zero_plus * zero_plus : 0x0
+zero_plus * zero_plus * zero : 0x0
+zero_plus * zero_plus * NaN : NaN
+zero_plus * zero_plus * Inf_plus : NaN
+zero_plus * zero_plus * Inf_min : NaN
+zero_plus * zero_plus * Inf : NaN
+zero_plus * zero_plus * long_max : 0x0
+zero_plus * zero_plus * long_min : 0x0
+zero_plus * zero_plus * int_max : 0x0
+zero_plus * zero_plus * int_min : 0x0
+zero_plus * zero_plus * uint_max : 0x0
+zero_plus * zero_plus * ulong_max : 0x0
+zero_plus * zero_plus * double_min : 0x0
+zero_plus * zero_plus * double_max : 0x0
+zero_plus * zero_plus * float_min : 0x0
+zero_plus * zero_plus * float_max : 0x0
+zero / zero_min : NaN
+zero / zero_plus : NaN
+zero / zero : NaN
+zero / NaN : NaN
+zero / Inf_plus : 0x0
+zero / Inf_min : 0x0
+zero / Inf : 0x0
+zero / long_max : 0x0
+zero / long_min : 0x0
+zero / int_max : 0x0
+zero / int_min : 0x0
+zero / uint_max : 0x0
+zero / ulong_max : 0x0
+zero / double_min : 0x0
+zero / double_max : 0x0
+zero / float_min : 0x0
+zero / float_max : 0x0
+zero * zero_min : 0x0
+zero * zero_plus : 0x0
+zero * zero : 0x0
+zero * NaN : NaN
+zero * Inf_plus : NaN
+zero * Inf_min : NaN
+zero * Inf : NaN
+zero * long_max : 0x0
+zero * long_min : 0x0
+zero * int_max : 0x0
+zero * int_min : 0x0
+zero * uint_max : 0x0
+zero * ulong_max : 0x0
+zero * double_min : 0x0
+zero * double_max : 0x0
+zero * float_min : 0x0
+zero * float_max : 0x0
+zero + zero_min : 0x0
+zero + zero_plus : 0x0
+zero + zero : 0x0
+zero + NaN : NaN
+zero + Inf_plus : Inf
+zero + Inf_min : -Inf
+zero + Inf : Inf
+zero + long_max : 0x7fffffff
+zero + long_min : 0x8e+7
+zero + int_max : 0x7fffffff
+zero + int_min : 0x8e+7
+zero + uint_max : 0x0ffffffff
+zero + ulong_max : 0x0ffffffff
+zero + double_min : 0x.4e-255
+zero + double_max : 0x0fffffffffffff8e+242
+zero + float_min : 0x.4e-31
+zero + float_max : 0x0ffffffe+26
+zero - zero_min : 0x0
+zero - zero_plus : 0x0
+zero - zero : 0x0
+zero - NaN : NaN
+zero - Inf_plus : -Inf
+zero - Inf_min : Inf
+zero - Inf : -Inf
+zero - long_max : 0x80000001
+zero - long_min : 0x08e+7
+zero - int_max : 0x80000001
+zero - int_min : 0x08e+7
+zero - uint_max : 0xf00000001
+zero - ulong_max : 0xf00000001
+zero - double_min : 0x.ce-255
+zero - double_max : 0xf00000000000008e+242
+zero - float_min : 0x.ce-31
+zero - float_max : 0xf000001e+26
+zero > zero_min : 0x0
+zero > zero_plus : 0x0
+zero > zero : 0x0
+zero > NaN : 0x0
+zero > Inf_plus : 0x0
+zero > Inf_min : 0x1
+zero > Inf : 0x0
+zero > long_max : 0x0
+zero > long_min : 0x1
+zero > int_max : 0x0
+zero > int_min : 0x1
+zero > uint_max : 0x0
+zero > ulong_max : 0x0
+zero > double_min : 0x0
+zero > double_max : 0x0
+zero > float_min : 0x0
+zero > float_max : 0x0
+zero < zero_min : 0x0
+zero < zero_plus : 0x0
+zero < zero : 0x0
+zero < NaN : 0x0
+zero < Inf_plus : 0x1
+zero < Inf_min : 0x0
+zero < Inf : 0x1
+zero < long_max : 0x1
+zero < long_min : 0x0
+zero < int_max : 0x1
+zero < int_min : 0x0
+zero < uint_max : 0x1
+zero < ulong_max : 0x1
+zero < double_min : 0x1
+zero < double_max : 0x1
+zero < float_min : 0x1
+zero < float_max : 0x1
+zero >= zero_min : 0x1
+zero >= zero_plus : 0x1
+zero >= zero : 0x1
+zero >= NaN : 0x0
+zero >= Inf_plus : 0x0
+zero >= Inf_min : 0x1
+zero >= Inf : 0x0
+zero >= long_max : 0x0
+zero >= long_min : 0x1
+zero >= int_max : 0x0
+zero >= int_min : 0x1
+zero >= uint_max : 0x0
+zero >= ulong_max : 0x0
+zero >= double_min : 0x0
+zero >= double_max : 0x0
+zero >= float_min : 0x0
+zero >= float_max : 0x0
+zero <= zero_min : 0x1
+zero <= zero_plus : 0x1
+zero <= zero : 0x1
+zero <= NaN : 0x0
+zero <= Inf_plus : 0x1
+zero <= Inf_min : 0x0
+zero <= Inf : 0x1
+zero <= long_max : 0x1
+zero <= long_min : 0x0
+zero <= int_max : 0x1
+zero <= int_min : 0x0
+zero <= uint_max : 0x1
+zero <= ulong_max : 0x1
+zero <= double_min : 0x1
+zero <= double_max : 0x1
+zero <= float_min : 0x1
+zero <= float_max : 0x1
+zero == zero_min : 0x1
+zero == zero_plus : 0x1
+zero == zero : 0x1
+zero == NaN : 0x0
+zero == Inf_plus : 0x0
+zero == Inf_min : 0x0
+zero == Inf : 0x0
+zero == long_max : 0x0
+zero == long_min : 0x0
+zero == int_max : 0x0
+zero == int_min : 0x0
+zero == uint_max : 0x0
+zero == ulong_max : 0x0
+zero == double_min : 0x0
+zero == double_max : 0x0
+zero == float_min : 0x0
+zero == float_max : 0x0
+zero != zero_min : 0x0
+zero != zero_plus : 0x0
+zero != zero : 0x0
+zero != NaN : 0x1
+zero != Inf_plus : 0x1
+zero != Inf_min : 0x1
+zero != Inf : 0x1
+zero != long_max : 0x1
+zero != long_min : 0x1
+zero != int_max : 0x1
+zero != int_min : 0x1
+zero != uint_max : 0x1
+zero != ulong_max : 0x1
+zero != double_min : 0x1
+zero != double_max : 0x1
+zero != float_min : 0x1
+zero != float_max : 0x1
+zero * zero * zero_min : 0x0
+zero * zero * zero_plus : 0x0
+zero * zero * zero : 0x0
+zero * zero * NaN : NaN
+zero * zero * Inf_plus : NaN
+zero * zero * Inf_min : NaN
+zero * zero * Inf : NaN
+zero * zero * long_max : 0x0
+zero * zero * long_min : 0x0
+zero * zero * int_max : 0x0
+zero * zero * int_min : 0x0
+zero * zero * uint_max : 0x0
+zero * zero * ulong_max : 0x0
+zero * zero * double_min : 0x0
+zero * zero * double_max : 0x0
+zero * zero * float_min : 0x0
+zero * zero * float_max : 0x0
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x7fffffff
+long_min : 0x8e+7
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+NaN / zero_min : NaN
+NaN / zero_plus : NaN
+NaN / zero : NaN
+NaN / NaN : NaN
+NaN / Inf_plus : NaN
+NaN / Inf_min : NaN
+NaN / Inf : NaN
+NaN / long_max : NaN
+NaN / long_min : NaN
+NaN / int_max : NaN
+NaN / int_min : NaN
+NaN / uint_max : NaN
+NaN / ulong_max : NaN
+NaN / double_min : NaN
+NaN / double_max : NaN
+NaN / float_min : NaN
+NaN / float_max : NaN
+NaN * zero_min : NaN
+NaN * zero_plus : NaN
+NaN * zero : NaN
+NaN * NaN : NaN
+NaN * Inf_plus : NaN
+NaN * Inf_min : NaN
+NaN * Inf : NaN
+NaN * long_max : NaN
+NaN * long_min : NaN
+NaN * int_max : NaN
+NaN * int_min : NaN
+NaN * uint_max : NaN
+NaN * ulong_max : NaN
+NaN * double_min : NaN
+NaN * double_max : NaN
+NaN * float_min : NaN
+NaN * float_max : NaN
+NaN + zero_min : NaN
+NaN + zero_plus : NaN
+NaN + zero : NaN
+NaN + NaN : NaN
+NaN + Inf_plus : NaN
+NaN + Inf_min : NaN
+NaN + Inf : NaN
+NaN + long_max : NaN
+NaN + long_min : NaN
+NaN + int_max : NaN
+NaN + int_min : NaN
+NaN + uint_max : NaN
+NaN + ulong_max : NaN
+NaN + double_min : NaN
+NaN + double_max : NaN
+NaN + float_min : NaN
+NaN + float_max : NaN
+NaN - zero_min : NaN
+NaN - zero_plus : NaN
+NaN - zero : NaN
+NaN - NaN : NaN
+NaN - Inf_plus : NaN
+NaN - Inf_min : NaN
+NaN - Inf : NaN
+NaN - long_max : NaN
+NaN - long_min : NaN
+NaN - int_max : NaN
+NaN - int_min : NaN
+NaN - uint_max : NaN
+NaN - ulong_max : NaN
+NaN - double_min : NaN
+NaN - double_max : NaN
+NaN - float_min : NaN
+NaN - float_max : NaN
+NaN > zero_min : 0x0
+NaN > zero_plus : 0x0
+NaN > zero : 0x0
+NaN > NaN : 0x0
+NaN > Inf_plus : 0x0
+NaN > Inf_min : 0x0
+NaN > Inf : 0x0
+NaN > long_max : 0x0
+NaN > long_min : 0x0
+NaN > int_max : 0x0
+NaN > int_min : 0x0
+NaN > uint_max : 0x0
+NaN > ulong_max : 0x0
+NaN > double_min : 0x0
+NaN > double_max : 0x0
+NaN > float_min : 0x0
+NaN > float_max : 0x0
+NaN < zero_min : 0x0
+NaN < zero_plus : 0x0
+NaN < zero : 0x0
+NaN < NaN : 0x0
+NaN < Inf_plus : 0x0
+NaN < Inf_min : 0x0
+NaN < Inf : 0x0
+NaN < long_max : 0x0
+NaN < long_min : 0x0
+NaN < int_max : 0x0
+NaN < int_min : 0x0
+NaN < uint_max : 0x0
+NaN < ulong_max : 0x0
+NaN < double_min : 0x0
+NaN < double_max : 0x0
+NaN < float_min : 0x0
+NaN < float_max : 0x0
+NaN >= zero_min : 0x0
+NaN >= zero_plus : 0x0
+NaN >= zero : 0x0
+NaN >= NaN : 0x0
+NaN >= Inf_plus : 0x0
+NaN >= Inf_min : 0x0
+NaN >= Inf : 0x0
+NaN >= long_max : 0x0
+NaN >= long_min : 0x0
+NaN >= int_max : 0x0
+NaN >= int_min : 0x0
+NaN >= uint_max : 0x0
+NaN >= ulong_max : 0x0
+NaN >= double_min : 0x0
+NaN >= double_max : 0x0
+NaN >= float_min : 0x0
+NaN >= float_max : 0x0
+NaN <= zero_min : 0x0
+NaN <= zero_plus : 0x0
+NaN <= zero : 0x0
+NaN <= NaN : 0x0
+NaN <= Inf_plus : 0x0
+NaN <= Inf_min : 0x0
+NaN <= Inf : 0x0
+NaN <= long_max : 0x0
+NaN <= long_min : 0x0
+NaN <= int_max : 0x0
+NaN <= int_min : 0x0
+NaN <= uint_max : 0x0
+NaN <= ulong_max : 0x0
+NaN <= double_min : 0x0
+NaN <= double_max : 0x0
+NaN <= float_min : 0x0
+NaN <= float_max : 0x0
+NaN == zero_min : 0x0
+NaN == zero_plus : 0x0
+NaN == zero : 0x0
+NaN == NaN : 0x0
+NaN == Inf_plus : 0x0
+NaN == Inf_min : 0x0
+NaN == Inf : 0x0
+NaN == long_max : 0x0
+NaN == long_min : 0x0
+NaN == int_max : 0x0
+NaN == int_min : 0x0
+NaN == uint_max : 0x0
+NaN == ulong_max : 0x0
+NaN == double_min : 0x0
+NaN == double_max : 0x0
+NaN == float_min : 0x0
+NaN == float_max : 0x0
+NaN != zero_min : 0x1
+NaN != zero_plus : 0x1
+NaN != zero : 0x1
+NaN != NaN : 0x1
+NaN != Inf_plus : 0x1
+NaN != Inf_min : 0x1
+NaN != Inf : 0x1
+NaN != long_max : 0x1
+NaN != long_min : 0x1
+NaN != int_max : 0x1
+NaN != int_min : 0x1
+NaN != uint_max : 0x1
+NaN != ulong_max : 0x1
+NaN != double_min : 0x1
+NaN != double_max : 0x1
+NaN != float_min : 0x1
+NaN != float_max : 0x1
+NaN * NaN * zero_min : NaN
+NaN * NaN * zero_plus : NaN
+NaN * NaN * zero : NaN
+NaN * NaN * NaN : NaN
+NaN * NaN * Inf_plus : NaN
+NaN * NaN * Inf_min : NaN
+NaN * NaN * Inf : NaN
+NaN * NaN * long_max : NaN
+NaN * NaN * long_min : NaN
+NaN * NaN * int_max : NaN
+NaN * NaN * int_min : NaN
+NaN * NaN * uint_max : NaN
+NaN * NaN * ulong_max : NaN
+NaN * NaN * double_min : NaN
+NaN * NaN * double_max : NaN
+NaN * NaN * float_min : NaN
+NaN * NaN * float_max : NaN
+Inf_plus / zero_min : -Inf
+Inf_plus / zero_plus : Inf
+Inf_plus / zero : Inf
+Inf_plus / NaN : NaN
+Inf_plus / Inf_plus : NaN
+Inf_plus / Inf_min : NaN
+Inf_plus / Inf : NaN
+Inf_plus / long_max : Inf
+Inf_plus / long_min : -Inf
+Inf_plus / int_max : Inf
+Inf_plus / int_min : -Inf
+Inf_plus / uint_max : Inf
+Inf_plus / ulong_max : Inf
+Inf_plus / double_min : Inf
+Inf_plus / double_max : Inf
+Inf_plus / float_min : Inf
+Inf_plus / float_max : Inf
+Inf_plus * zero_min : NaN
+Inf_plus * zero_plus : NaN
+Inf_plus * zero : NaN
+Inf_plus * NaN : NaN
+Inf_plus * Inf_plus : Inf
+Inf_plus * Inf_min : -Inf
+Inf_plus * Inf : Inf
+Inf_plus * long_max : Inf
+Inf_plus * long_min : -Inf
+Inf_plus * int_max : Inf
+Inf_plus * int_min : -Inf
+Inf_plus * uint_max : Inf
+Inf_plus * ulong_max : Inf
+Inf_plus * double_min : Inf
+Inf_plus * double_max : Inf
+Inf_plus * float_min : Inf
+Inf_plus * float_max : Inf
+Inf_plus + zero_min : Inf
+Inf_plus + zero_plus : Inf
+Inf_plus + zero : Inf
+Inf_plus + NaN : NaN
+Inf_plus + Inf_plus : Inf
+Inf_plus + Inf_min : NaN
+Inf_plus + Inf : Inf
+Inf_plus + long_max : Inf
+Inf_plus + long_min : Inf
+Inf_plus + int_max : Inf
+Inf_plus + int_min : Inf
+Inf_plus + uint_max : Inf
+Inf_plus + ulong_max : Inf
+Inf_plus + double_min : Inf
+Inf_plus + double_max : Inf
+Inf_plus + float_min : Inf
+Inf_plus + float_max : Inf
+Inf_plus - zero_min : Inf
+Inf_plus - zero_plus : Inf
+Inf_plus - zero : Inf
+Inf_plus - NaN : NaN
+Inf_plus - Inf_plus : NaN
+Inf_plus - Inf_min : Inf
+Inf_plus - Inf : NaN
+Inf_plus - long_max : Inf
+Inf_plus - long_min : Inf
+Inf_plus - int_max : Inf
+Inf_plus - int_min : Inf
+Inf_plus - uint_max : Inf
+Inf_plus - ulong_max : Inf
+Inf_plus - double_min : Inf
+Inf_plus - double_max : Inf
+Inf_plus - float_min : Inf
+Inf_plus - float_max : Inf
+Inf_plus > zero_min : 0x1
+Inf_plus > zero_plus : 0x1
+Inf_plus > zero : 0x1
+Inf_plus > NaN : 0x0
+Inf_plus > Inf_plus : 0x0
+Inf_plus > Inf_min : 0x1
+Inf_plus > Inf : 0x0
+Inf_plus > long_max : 0x1
+Inf_plus > long_min : 0x1
+Inf_plus > int_max : 0x1
+Inf_plus > int_min : 0x1
+Inf_plus > uint_max : 0x1
+Inf_plus > ulong_max : 0x1
+Inf_plus > double_min : 0x1
+Inf_plus > double_max : 0x1
+Inf_plus > float_min : 0x1
+Inf_plus > float_max : 0x1
+Inf_plus < zero_min : 0x0
+Inf_plus < zero_plus : 0x0
+Inf_plus < zero : 0x0
+Inf_plus < NaN : 0x0
+Inf_plus < Inf_plus : 0x0
+Inf_plus < Inf_min : 0x0
+Inf_plus < Inf : 0x0
+Inf_plus < long_max : 0x0
+Inf_plus < long_min : 0x0
+Inf_plus < int_max : 0x0
+Inf_plus < int_min : 0x0
+Inf_plus < uint_max : 0x0
+Inf_plus < ulong_max : 0x0
+Inf_plus < double_min : 0x0
+Inf_plus < double_max : 0x0
+Inf_plus < float_min : 0x0
+Inf_plus < float_max : 0x0
+Inf_plus >= zero_min : 0x1
+Inf_plus >= zero_plus : 0x1
+Inf_plus >= zero : 0x1
+Inf_plus >= NaN : 0x0
+Inf_plus >= Inf_plus : 0x1
+Inf_plus >= Inf_min : 0x1
+Inf_plus >= Inf : 0x1
+Inf_plus >= long_max : 0x1
+Inf_plus >= long_min : 0x1
+Inf_plus >= int_max : 0x1
+Inf_plus >= int_min : 0x1
+Inf_plus >= uint_max : 0x1
+Inf_plus >= ulong_max : 0x1
+Inf_plus >= double_min : 0x1
+Inf_plus >= double_max : 0x1
+Inf_plus >= float_min : 0x1
+Inf_plus >= float_max : 0x1
+Inf_plus <= zero_min : 0x0
+Inf_plus <= zero_plus : 0x0
+Inf_plus <= zero : 0x0
+Inf_plus <= NaN : 0x0
+Inf_plus <= Inf_plus : 0x1
+Inf_plus <= Inf_min : 0x0
+Inf_plus <= Inf : 0x1
+Inf_plus <= long_max : 0x0
+Inf_plus <= long_min : 0x0
+Inf_plus <= int_max : 0x0
+Inf_plus <= int_min : 0x0
+Inf_plus <= uint_max : 0x0
+Inf_plus <= ulong_max : 0x0
+Inf_plus <= double_min : 0x0
+Inf_plus <= double_max : 0x0
+Inf_plus <= float_min : 0x0
+Inf_plus <= float_max : 0x0
+Inf_plus == zero_min : 0x0
+Inf_plus == zero_plus : 0x0
+Inf_plus == zero : 0x0
+Inf_plus == NaN : 0x0
+Inf_plus == Inf_plus : 0x1
+Inf_plus == Inf_min : 0x0
+Inf_plus == Inf : 0x1
+Inf_plus == long_max : 0x0
+Inf_plus == long_min : 0x0
+Inf_plus == int_max : 0x0
+Inf_plus == int_min : 0x0
+Inf_plus == uint_max : 0x0
+Inf_plus == ulong_max : 0x0
+Inf_plus == double_min : 0x0
+Inf_plus == double_max : 0x0
+Inf_plus == float_min : 0x0
+Inf_plus == float_max : 0x0
+Inf_plus != zero_min : 0x1
+Inf_plus != zero_plus : 0x1
+Inf_plus != zero : 0x1
+Inf_plus != NaN : 0x1
+Inf_plus != Inf_plus : 0x0
+Inf_plus != Inf_min : 0x1
+Inf_plus != Inf : 0x0
+Inf_plus != long_max : 0x1
+Inf_plus != long_min : 0x1
+Inf_plus != int_max : 0x1
+Inf_plus != int_min : 0x1
+Inf_plus != uint_max : 0x1
+Inf_plus != ulong_max : 0x1
+Inf_plus != double_min : 0x1
+Inf_plus != double_max : 0x1
+Inf_plus != float_min : 0x1
+Inf_plus != float_max : 0x1
+Inf_plus * Inf_plus * zero_min : NaN
+Inf_plus * Inf_plus * zero_plus : NaN
+Inf_plus * Inf_plus * zero : NaN
+Inf_plus * Inf_plus * NaN : NaN
+Inf_plus * Inf_plus * Inf_plus : Inf
+Inf_plus * Inf_plus * Inf_min : -Inf
+Inf_plus * Inf_plus * Inf : Inf
+Inf_plus * Inf_plus * long_max : Inf
+Inf_plus * Inf_plus * long_min : -Inf
+Inf_plus * Inf_plus * int_max : Inf
+Inf_plus * Inf_plus * int_min : -Inf
+Inf_plus * Inf_plus * uint_max : Inf
+Inf_plus * Inf_plus * ulong_max : Inf
+Inf_plus * Inf_plus * double_min : Inf
+Inf_plus * Inf_plus * double_max : Inf
+Inf_plus * Inf_plus * float_min : Inf
+Inf_plus * Inf_plus * float_max : Inf
+Inf_min / zero_min : Inf
+Inf_min / zero_plus : -Inf
+Inf_min / zero : -Inf
+Inf_min / NaN : NaN
+Inf_min / Inf_plus : NaN
+Inf_min / Inf_min : NaN
+Inf_min / Inf : NaN
+Inf_min / long_max : -Inf
+Inf_min / long_min : Inf
+Inf_min / int_max : -Inf
+Inf_min / int_min : Inf
+Inf_min / uint_max : -Inf
+Inf_min / ulong_max : -Inf
+Inf_min / double_min : -Inf
+Inf_min / double_max : -Inf
+Inf_min / float_min : -Inf
+Inf_min / float_max : -Inf
+Inf_min * zero_min : NaN
+Inf_min * zero_plus : NaN
+Inf_min * zero : NaN
+Inf_min * NaN : NaN
+Inf_min * Inf_plus : -Inf
+Inf_min * Inf_min : Inf
+Inf_min * Inf : -Inf
+Inf_min * long_max : -Inf
+Inf_min * long_min : Inf
+Inf_min * int_max : -Inf
+Inf_min * int_min : Inf
+Inf_min * uint_max : -Inf
+Inf_min * ulong_max : -Inf
+Inf_min * double_min : -Inf
+Inf_min * double_max : -Inf
+Inf_min * float_min : -Inf
+Inf_min * float_max : -Inf
+Inf_min + zero_min : -Inf
+Inf_min + zero_plus : -Inf
+Inf_min + zero : -Inf
+Inf_min + NaN : NaN
+Inf_min + Inf_plus : NaN
+Inf_min + Inf_min : -Inf
+Inf_min + Inf : NaN
+Inf_min + long_max : -Inf
+Inf_min + long_min : -Inf
+Inf_min + int_max : -Inf
+Inf_min + int_min : -Inf
+Inf_min + uint_max : -Inf
+Inf_min + ulong_max : -Inf
+Inf_min + double_min : -Inf
+Inf_min + double_max : -Inf
+Inf_min + float_min : -Inf
+Inf_min + float_max : -Inf
+Inf_min - zero_min : -Inf
+Inf_min - zero_plus : -Inf
+Inf_min - zero : -Inf
+Inf_min - NaN : NaN
+Inf_min - Inf_plus : -Inf
+Inf_min - Inf_min : NaN
+Inf_min - Inf : -Inf
+Inf_min - long_max : -Inf
+Inf_min - long_min : -Inf
+Inf_min - int_max : -Inf
+Inf_min - int_min : -Inf
+Inf_min - uint_max : -Inf
+Inf_min - ulong_max : -Inf
+Inf_min - double_min : -Inf
+Inf_min - double_max : -Inf
+Inf_min - float_min : -Inf
+Inf_min - float_max : -Inf
+Inf_min > zero_min : 0x0
+Inf_min > zero_plus : 0x0
+Inf_min > zero : 0x0
+Inf_min > NaN : 0x0
+Inf_min > Inf_plus : 0x0
+Inf_min > Inf_min : 0x0
+Inf_min > Inf : 0x0
+Inf_min > long_max : 0x0
+Inf_min > long_min : 0x0
+Inf_min > int_max : 0x0
+Inf_min > int_min : 0x0
+Inf_min > uint_max : 0x0
+Inf_min > ulong_max : 0x0
+Inf_min > double_min : 0x0
+Inf_min > double_max : 0x0
+Inf_min > float_min : 0x0
+Inf_min > float_max : 0x0
+Inf_min < zero_min : 0x1
+Inf_min < zero_plus : 0x1
+Inf_min < zero : 0x1
+Inf_min < NaN : 0x0
+Inf_min < Inf_plus : 0x1
+Inf_min < Inf_min : 0x0
+Inf_min < Inf : 0x1
+Inf_min < long_max : 0x1
+Inf_min < long_min : 0x1
+Inf_min < int_max : 0x1
+Inf_min < int_min : 0x1
+Inf_min < uint_max : 0x1
+Inf_min < ulong_max : 0x1
+Inf_min < double_min : 0x1
+Inf_min < double_max : 0x1
+Inf_min < float_min : 0x1
+Inf_min < float_max : 0x1
+Inf_min >= zero_min : 0x0
+Inf_min >= zero_plus : 0x0
+Inf_min >= zero : 0x0
+Inf_min >= NaN : 0x0
+Inf_min >= Inf_plus : 0x0
+Inf_min >= Inf_min : 0x1
+Inf_min >= Inf : 0x0
+Inf_min >= long_max : 0x0
+Inf_min >= long_min : 0x0
+Inf_min >= int_max : 0x0
+Inf_min >= int_min : 0x0
+Inf_min >= uint_max : 0x0
+Inf_min >= ulong_max : 0x0
+Inf_min >= double_min : 0x0
+Inf_min >= double_max : 0x0
+Inf_min >= float_min : 0x0
+Inf_min >= float_max : 0x0
+Inf_min <= zero_min : 0x1
+Inf_min <= zero_plus : 0x1
+Inf_min <= zero : 0x1
+Inf_min <= NaN : 0x0
+Inf_min <= Inf_plus : 0x1
+Inf_min <= Inf_min : 0x1
+Inf_min <= Inf : 0x1
+Inf_min <= long_max : 0x1
+Inf_min <= long_min : 0x1
+Inf_min <= int_max : 0x1
+Inf_min <= int_min : 0x1
+Inf_min <= uint_max : 0x1
+Inf_min <= ulong_max : 0x1
+Inf_min <= double_min : 0x1
+Inf_min <= double_max : 0x1
+Inf_min <= float_min : 0x1
+Inf_min <= float_max : 0x1
+Inf_min == zero_min : 0x0
+Inf_min == zero_plus : 0x0
+Inf_min == zero : 0x0
+Inf_min == NaN : 0x0
+Inf_min == Inf_plus : 0x0
+Inf_min == Inf_min : 0x1
+Inf_min == Inf : 0x0
+Inf_min == long_max : 0x0
+Inf_min == long_min : 0x0
+Inf_min == int_max : 0x0
+Inf_min == int_min : 0x0
+Inf_min == uint_max : 0x0
+Inf_min == ulong_max : 0x0
+Inf_min == double_min : 0x0
+Inf_min == double_max : 0x0
+Inf_min == float_min : 0x0
+Inf_min == float_max : 0x0
+Inf_min != zero_min : 0x1
+Inf_min != zero_plus : 0x1
+Inf_min != zero : 0x1
+Inf_min != NaN : 0x1
+Inf_min != Inf_plus : 0x1
+Inf_min != Inf_min : 0x0
+Inf_min != Inf : 0x1
+Inf_min != long_max : 0x1
+Inf_min != long_min : 0x1
+Inf_min != int_max : 0x1
+Inf_min != int_min : 0x1
+Inf_min != uint_max : 0x1
+Inf_min != ulong_max : 0x1
+Inf_min != double_min : 0x1
+Inf_min != double_max : 0x1
+Inf_min != float_min : 0x1
+Inf_min != float_max : 0x1
+Inf_min * Inf_min * zero_min : NaN
+Inf_min * Inf_min * zero_plus : NaN
+Inf_min * Inf_min * zero : NaN
+Inf_min * Inf_min * NaN : NaN
+Inf_min * Inf_min * Inf_plus : Inf
+Inf_min * Inf_min * Inf_min : -Inf
+Inf_min * Inf_min * Inf : Inf
+Inf_min * Inf_min * long_max : Inf
+Inf_min * Inf_min * long_min : -Inf
+Inf_min * Inf_min * int_max : Inf
+Inf_min * Inf_min * int_min : -Inf
+Inf_min * Inf_min * uint_max : Inf
+Inf_min * Inf_min * ulong_max : Inf
+Inf_min * Inf_min * double_min : Inf
+Inf_min * Inf_min * double_max : Inf
+Inf_min * Inf_min * float_min : Inf
+Inf_min * Inf_min * float_max : Inf
+Inf / zero_min : -Inf
+Inf / zero_plus : Inf
+Inf / zero : Inf
+Inf / NaN : NaN
+Inf / Inf_plus : NaN
+Inf / Inf_min : NaN
+Inf / Inf : NaN
+Inf / long_max : Inf
+Inf / long_min : -Inf
+Inf / int_max : Inf
+Inf / int_min : -Inf
+Inf / uint_max : Inf
+Inf / ulong_max : Inf
+Inf / double_min : Inf
+Inf / double_max : Inf
+Inf / float_min : Inf
+Inf / float_max : Inf
+Inf * zero_min : NaN
+Inf * zero_plus : NaN
+Inf * zero : NaN
+Inf * NaN : NaN
+Inf * Inf_plus : Inf
+Inf * Inf_min : -Inf
+Inf * Inf : Inf
+Inf * long_max : Inf
+Inf * long_min : -Inf
+Inf * int_max : Inf
+Inf * int_min : -Inf
+Inf * uint_max : Inf
+Inf * ulong_max : Inf
+Inf * double_min : Inf
+Inf * double_max : Inf
+Inf * float_min : Inf
+Inf * float_max : Inf
+Inf + zero_min : Inf
+Inf + zero_plus : Inf
+Inf + zero : Inf
+Inf + NaN : NaN
+Inf + Inf_plus : Inf
+Inf + Inf_min : NaN
+Inf + Inf : Inf
+Inf + long_max : Inf
+Inf + long_min : Inf
+Inf + int_max : Inf
+Inf + int_min : Inf
+Inf + uint_max : Inf
+Inf + ulong_max : Inf
+Inf + double_min : Inf
+Inf + double_max : Inf
+Inf + float_min : Inf
+Inf + float_max : Inf
+Inf - zero_min : Inf
+Inf - zero_plus : Inf
+Inf - zero : Inf
+Inf - NaN : NaN
+Inf - Inf_plus : NaN
+Inf - Inf_min : Inf
+Inf - Inf : NaN
+Inf - long_max : Inf
+Inf - long_min : Inf
+Inf - int_max : Inf
+Inf - int_min : Inf
+Inf - uint_max : Inf
+Inf - ulong_max : Inf
+Inf - double_min : Inf
+Inf - double_max : Inf
+Inf - float_min : Inf
+Inf - float_max : Inf
+Inf > zero_min : 0x1
+Inf > zero_plus : 0x1
+Inf > zero : 0x1
+Inf > NaN : 0x0
+Inf > Inf_plus : 0x0
+Inf > Inf_min : 0x1
+Inf > Inf : 0x0
+Inf > long_max : 0x1
+Inf > long_min : 0x1
+Inf > int_max : 0x1
+Inf > int_min : 0x1
+Inf > uint_max : 0x1
+Inf > ulong_max : 0x1
+Inf > double_min : 0x1
+Inf > double_max : 0x1
+Inf > float_min : 0x1
+Inf > float_max : 0x1
+Inf < zero_min : 0x0
+Inf < zero_plus : 0x0
+Inf < zero : 0x0
+Inf < NaN : 0x0
+Inf < Inf_plus : 0x0
+Inf < Inf_min : 0x0
+Inf < Inf : 0x0
+Inf < long_max : 0x0
+Inf < long_min : 0x0
+Inf < int_max : 0x0
+Inf < int_min : 0x0
+Inf < uint_max : 0x0
+Inf < ulong_max : 0x0
+Inf < double_min : 0x0
+Inf < double_max : 0x0
+Inf < float_min : 0x0
+Inf < float_max : 0x0
+Inf >= zero_min : 0x1
+Inf >= zero_plus : 0x1
+Inf >= zero : 0x1
+Inf >= NaN : 0x0
+Inf >= Inf_plus : 0x1
+Inf >= Inf_min : 0x1
+Inf >= Inf : 0x1
+Inf >= long_max : 0x1
+Inf >= long_min : 0x1
+Inf >= int_max : 0x1
+Inf >= int_min : 0x1
+Inf >= uint_max : 0x1
+Inf >= ulong_max : 0x1
+Inf >= double_min : 0x1
+Inf >= double_max : 0x1
+Inf >= float_min : 0x1
+Inf >= float_max : 0x1
+Inf <= zero_min : 0x0
+Inf <= zero_plus : 0x0
+Inf <= zero : 0x0
+Inf <= NaN : 0x0
+Inf <= Inf_plus : 0x1
+Inf <= Inf_min : 0x0
+Inf <= Inf : 0x1
+Inf <= long_max : 0x0
+Inf <= long_min : 0x0
+Inf <= int_max : 0x0
+Inf <= int_min : 0x0
+Inf <= uint_max : 0x0
+Inf <= ulong_max : 0x0
+Inf <= double_min : 0x0
+Inf <= double_max : 0x0
+Inf <= float_min : 0x0
+Inf <= float_max : 0x0
+Inf == zero_min : 0x0
+Inf == zero_plus : 0x0
+Inf == zero : 0x0
+Inf == NaN : 0x0
+Inf == Inf_plus : 0x1
+Inf == Inf_min : 0x0
+Inf == Inf : 0x1
+Inf == long_max : 0x0
+Inf == long_min : 0x0
+Inf == int_max : 0x0
+Inf == int_min : 0x0
+Inf == uint_max : 0x0
+Inf == ulong_max : 0x0
+Inf == double_min : 0x0
+Inf == double_max : 0x0
+Inf == float_min : 0x0
+Inf == float_max : 0x0
+Inf != zero_min : 0x1
+Inf != zero_plus : 0x1
+Inf != zero : 0x1
+Inf != NaN : 0x1
+Inf != Inf_plus : 0x0
+Inf != Inf_min : 0x1
+Inf != Inf : 0x0
+Inf != long_max : 0x1
+Inf != long_min : 0x1
+Inf != int_max : 0x1
+Inf != int_min : 0x1
+Inf != uint_max : 0x1
+Inf != ulong_max : 0x1
+Inf != double_min : 0x1
+Inf != double_max : 0x1
+Inf != float_min : 0x1
+Inf != float_max : 0x1
+Inf * Inf * zero_min : NaN
+Inf * Inf * zero_plus : NaN
+Inf * Inf * zero : NaN
+Inf * Inf * NaN : NaN
+Inf * Inf * Inf_plus : Inf
+Inf * Inf * Inf_min : -Inf
+Inf * Inf * Inf : Inf
+Inf * Inf * long_max : Inf
+Inf * Inf * long_min : -Inf
+Inf * Inf * int_max : Inf
+Inf * Inf * int_min : -Inf
+Inf * Inf * uint_max : Inf
+Inf * Inf * ulong_max : Inf
+Inf * Inf * double_min : Inf
+Inf * Inf * double_max : Inf
+Inf * Inf * float_min : Inf
+Inf * Inf * float_max : Inf
+****************** limits fx_float_long
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x7fffffff
+long_min : 0x8e+7
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+long_max / zero_min : -Inf
+long_max / zero_plus : Inf
+long_max / zero : Inf
+long_max / NaN : NaN
+long_max / Inf_plus : 0x0
+long_max / Inf_min : 0x0
+long_max / Inf : 0x0
+long_max / long_max : 0x1
+long_max / long_min : 0xf.00000002
+long_max / int_max : 0x1
+long_max / int_min : 0xf.00000002
+long_max / uint_max : 0x.7fffffff8
+long_max / ulong_max : 0x.7fffffff8
+long_max / double_min : Inf
+long_max / double_max : 0x.7fffffff000004e-248
+long_max / float_min : 0x1fffffffce+31
+long_max / float_max : 0x.08000007f00008e-23
+long_max * zero_min : 0x0
+long_max * zero_plus : 0x0
+long_max * zero : 0x0
+long_max * NaN : NaN
+long_max * Inf_plus : Inf
+long_max * Inf_min : -Inf
+long_max * Inf : Inf
+long_max * long_max : 0x3fffffffe+8
+long_max * long_min : 0xc00000008e+7
+long_max * int_max : 0x3fffffffe+8
+long_max * int_min : 0xc00000008e+7
+long_max * uint_max : 0x7ffffffe8e+7
+long_max * ulong_max : 0x7ffffffe8e+7
+long_max * double_min : 0x.1fffffffce-247
+long_max * double_max : Inf
+long_max * float_min : 0x.1fffffffce-23
+long_max * float_max : 0x7fffff7fe+32
+long_max + zero_min : 0x7fffffff
+long_max + zero_plus : 0x7fffffff
+long_max + zero : 0x7fffffff
+long_max + NaN : NaN
+long_max + Inf_plus : Inf
+long_max + Inf_min : -Inf
+long_max + Inf : Inf
+long_max + long_max : 0x0fffffffe
+long_max + long_min : 0xf
+long_max + int_max : 0x0fffffffe
+long_max + int_min : 0xf
+long_max + uint_max : 0x17ffffffe
+long_max + ulong_max : 0x17ffffffe
+long_max + double_min : 0x7fffffff
+long_max + double_max : 0x0fffffffffffff8e+242
+long_max + float_min : 0x7fffffff
+long_max + float_max : 0x0ffffffe+26
+long_max - zero_min : 0x7fffffff
+long_max - zero_plus : 0x7fffffff
+long_max - zero : 0x7fffffff
+long_max - NaN : NaN
+long_max - Inf_plus : -Inf
+long_max - Inf_min : Inf
+long_max - Inf : -Inf
+long_max - long_max : 0x0
+long_max - long_min : 0x0ffffffff
+long_max - int_max : 0x0
+long_max - int_min : 0x0ffffffff
+long_max - uint_max : 0x8e+7
+long_max - ulong_max : 0x8e+7
+long_max - double_min : 0x7fffffff
+long_max - double_max : 0xf00000000000008e+242
+long_max - float_min : 0x7fffffff
+long_max - float_max : 0xf000001e+26
+long_max > zero_min : 0x1
+long_max > zero_plus : 0x1
+long_max > zero : 0x1
+long_max > NaN : 0x0
+long_max > Inf_plus : 0x0
+long_max > Inf_min : 0x1
+long_max > Inf : 0x0
+long_max > long_max : 0x0
+long_max > long_min : 0x1
+long_max > int_max : 0x0
+long_max > int_min : 0x1
+long_max > uint_max : 0x0
+long_max > ulong_max : 0x0
+long_max > double_min : 0x1
+long_max > double_max : 0x0
+long_max > float_min : 0x1
+long_max > float_max : 0x0
+long_max < zero_min : 0x0
+long_max < zero_plus : 0x0
+long_max < zero : 0x0
+long_max < NaN : 0x0
+long_max < Inf_plus : 0x1
+long_max < Inf_min : 0x0
+long_max < Inf : 0x1
+long_max < long_max : 0x0
+long_max < long_min : 0x0
+long_max < int_max : 0x0
+long_max < int_min : 0x0
+long_max < uint_max : 0x1
+long_max < ulong_max : 0x1
+long_max < double_min : 0x0
+long_max < double_max : 0x1
+long_max < float_min : 0x0
+long_max < float_max : 0x1
+long_max >= zero_min : 0x1
+long_max >= zero_plus : 0x1
+long_max >= zero : 0x1
+long_max >= NaN : 0x0
+long_max >= Inf_plus : 0x0
+long_max >= Inf_min : 0x1
+long_max >= Inf : 0x0
+long_max >= long_max : 0x1
+long_max >= long_min : 0x1
+long_max >= int_max : 0x1
+long_max >= int_min : 0x1
+long_max >= uint_max : 0x0
+long_max >= ulong_max : 0x0
+long_max >= double_min : 0x1
+long_max >= double_max : 0x0
+long_max >= float_min : 0x1
+long_max >= float_max : 0x0
+long_max <= zero_min : 0x0
+long_max <= zero_plus : 0x0
+long_max <= zero : 0x0
+long_max <= NaN : 0x0
+long_max <= Inf_plus : 0x1
+long_max <= Inf_min : 0x0
+long_max <= Inf : 0x1
+long_max <= long_max : 0x1
+long_max <= long_min : 0x0
+long_max <= int_max : 0x1
+long_max <= int_min : 0x0
+long_max <= uint_max : 0x1
+long_max <= ulong_max : 0x1
+long_max <= double_min : 0x0
+long_max <= double_max : 0x1
+long_max <= float_min : 0x0
+long_max <= float_max : 0x1
+long_max == zero_min : 0x0
+long_max == zero_plus : 0x0
+long_max == zero : 0x0
+long_max == NaN : 0x0
+long_max == Inf_plus : 0x0
+long_max == Inf_min : 0x0
+long_max == Inf : 0x0
+long_max == long_max : 0x1
+long_max == long_min : 0x0
+long_max == int_max : 0x1
+long_max == int_min : 0x0
+long_max == uint_max : 0x0
+long_max == ulong_max : 0x0
+long_max == double_min : 0x0
+long_max == double_max : 0x0
+long_max == float_min : 0x0
+long_max == float_max : 0x0
+long_max != zero_min : 0x1
+long_max != zero_plus : 0x1
+long_max != zero : 0x1
+long_max != NaN : 0x1
+long_max != Inf_plus : 0x1
+long_max != Inf_min : 0x1
+long_max != Inf : 0x1
+long_max != long_max : 0x0
+long_max != long_min : 0x1
+long_max != int_max : 0x0
+long_max != int_min : 0x1
+long_max != uint_max : 0x1
+long_max != ulong_max : 0x1
+long_max != double_min : 0x1
+long_max != double_max : 0x1
+long_max != float_min : 0x1
+long_max != float_max : 0x1
+long_max * long_max * zero_min : 0x0
+long_max * long_max * zero_plus : 0x0
+long_max * long_max * zero : 0x0
+long_max * long_max * NaN : NaN
+long_max * long_max * Inf_plus : Inf
+long_max * long_max * Inf_min : -Inf
+long_max * long_max * Inf : Inf
+long_max * long_max * long_max : 0x1fffffff4e+15
+long_max * long_max * long_min : 0xe00000008e+15
+long_max * long_max * int_max : 0x1fffffff4e+15
+long_max * long_max * int_min : 0xe00000008e+15
+long_max * long_max * uint_max : 0x3ffffffece+15
+long_max * long_max * ulong_max : 0x3ffffffece+15
+long_max * long_max * double_min : 0x.0fffffffce-239
+long_max * long_max * double_max : Inf
+long_max * long_max * float_min : 0x.0fffffffce-15
+long_max * long_max * float_max : 0x3fffffbfe+40
+long_min / zero_min : Inf
+long_min / zero_plus : -Inf
+long_min / zero : -Inf
+long_min / NaN : NaN
+long_min / Inf_plus : 0x0
+long_min / Inf_min : 0x0
+long_min / Inf : 0x0
+long_min / long_max : 0xe.fffffffe
+long_min / long_min : 0x1
+long_min / int_max : 0xe.fffffffe
+long_min / int_min : 0x1
+long_min / uint_max : 0xf.7fffffff8
+long_min / ulong_max : 0xf.7fffffff8
+long_min / double_min : -Inf
+long_min / double_max : 0x.f7ffffffffffff8e-247
+long_min / float_min : 0xee+39
+long_min / float_max : 0x.f7fffff7fffff8e-23
+long_min * zero_min : 0x0
+long_min * zero_plus : 0x0
+long_min * zero : 0x0
+long_min * NaN : NaN
+long_min * Inf_plus : -Inf
+long_min * Inf_min : Inf
+long_min * Inf : -Inf
+long_min * long_max : 0xc00000008e+7
+long_min * long_min : 0x4e+15
+long_min * int_max : 0xc00000008e+7
+long_min * int_min : 0x4e+15
+long_min * uint_max : 0x800000008e+7
+long_min * ulong_max : 0x800000008e+7
+long_min * double_min : 0x.ee-247
+long_min * double_max : -Inf
+long_min * float_min : 0x.ee-23
+long_min * float_max : 0x8000008e+33
+long_min + zero_min : 0x8e+7
+long_min + zero_plus : 0x8e+7
+long_min + zero : 0x8e+7
+long_min + NaN : NaN
+long_min + Inf_plus : Inf
+long_min + Inf_min : -Inf
+long_min + Inf : Inf
+long_min + long_max : 0xf
+long_min + long_min : 0xfe+8
+long_min + int_max : 0xf
+long_min + int_min : 0xfe+8
+long_min + uint_max : 0x7fffffff
+long_min + ulong_max : 0x7fffffff
+long_min + double_min : 0x8e+7
+long_min + double_max : 0x0fffffffffffff8e+242
+long_min + float_min : 0x8e+7
+long_min + float_max : 0x0ffffffe+26
+long_min - zero_min : 0x8e+7
+long_min - zero_plus : 0x8e+7
+long_min - zero : 0x8e+7
+long_min - NaN : NaN
+long_min - Inf_plus : -Inf
+long_min - Inf_min : Inf
+long_min - Inf : -Inf
+long_min - long_max : 0xf00000001
+long_min - long_min : 0x0
+long_min - int_max : 0xf00000001
+long_min - int_min : 0x0
+long_min - uint_max : 0xe80000001
+long_min - ulong_max : 0xe80000001
+long_min - double_min : 0x8e+7
+long_min - double_max : 0xf00000000000008e+242
+long_min - float_min : 0x8e+7
+long_min - float_max : 0xf000001e+26
+long_min > zero_min : 0x0
+long_min > zero_plus : 0x0
+long_min > zero : 0x0
+long_min > NaN : 0x0
+long_min > Inf_plus : 0x0
+long_min > Inf_min : 0x1
+long_min > Inf : 0x0
+long_min > long_max : 0x0
+long_min > long_min : 0x0
+long_min > int_max : 0x0
+long_min > int_min : 0x0
+long_min > uint_max : 0x0
+long_min > ulong_max : 0x0
+long_min > double_min : 0x0
+long_min > double_max : 0x0
+long_min > float_min : 0x0
+long_min > float_max : 0x0
+long_min < zero_min : 0x1
+long_min < zero_plus : 0x1
+long_min < zero : 0x1
+long_min < NaN : 0x0
+long_min < Inf_plus : 0x1
+long_min < Inf_min : 0x0
+long_min < Inf : 0x1
+long_min < long_max : 0x1
+long_min < long_min : 0x0
+long_min < int_max : 0x1
+long_min < int_min : 0x0
+long_min < uint_max : 0x1
+long_min < ulong_max : 0x1
+long_min < double_min : 0x1
+long_min < double_max : 0x1
+long_min < float_min : 0x1
+long_min < float_max : 0x1
+long_min >= zero_min : 0x0
+long_min >= zero_plus : 0x0
+long_min >= zero : 0x0
+long_min >= NaN : 0x0
+long_min >= Inf_plus : 0x0
+long_min >= Inf_min : 0x1
+long_min >= Inf : 0x0
+long_min >= long_max : 0x0
+long_min >= long_min : 0x1
+long_min >= int_max : 0x0
+long_min >= int_min : 0x1
+long_min >= uint_max : 0x0
+long_min >= ulong_max : 0x0
+long_min >= double_min : 0x0
+long_min >= double_max : 0x0
+long_min >= float_min : 0x0
+long_min >= float_max : 0x0
+long_min <= zero_min : 0x1
+long_min <= zero_plus : 0x1
+long_min <= zero : 0x1
+long_min <= NaN : 0x0
+long_min <= Inf_plus : 0x1
+long_min <= Inf_min : 0x0
+long_min <= Inf : 0x1
+long_min <= long_max : 0x1
+long_min <= long_min : 0x1
+long_min <= int_max : 0x1
+long_min <= int_min : 0x1
+long_min <= uint_max : 0x1
+long_min <= ulong_max : 0x1
+long_min <= double_min : 0x1
+long_min <= double_max : 0x1
+long_min <= float_min : 0x1
+long_min <= float_max : 0x1
+long_min == zero_min : 0x0
+long_min == zero_plus : 0x0
+long_min == zero : 0x0
+long_min == NaN : 0x0
+long_min == Inf_plus : 0x0
+long_min == Inf_min : 0x0
+long_min == Inf : 0x0
+long_min == long_max : 0x0
+long_min == long_min : 0x1
+long_min == int_max : 0x0
+long_min == int_min : 0x1
+long_min == uint_max : 0x0
+long_min == ulong_max : 0x0
+long_min == double_min : 0x0
+long_min == double_max : 0x0
+long_min == float_min : 0x0
+long_min == float_max : 0x0
+long_min != zero_min : 0x1
+long_min != zero_plus : 0x1
+long_min != zero : 0x1
+long_min != NaN : 0x1
+long_min != Inf_plus : 0x1
+long_min != Inf_min : 0x1
+long_min != Inf : 0x1
+long_min != long_max : 0x1
+long_min != long_min : 0x0
+long_min != int_max : 0x1
+long_min != int_min : 0x0
+long_min != uint_max : 0x1
+long_min != ulong_max : 0x1
+long_min != double_min : 0x1
+long_min != double_max : 0x1
+long_min != float_min : 0x1
+long_min != float_max : 0x1
+long_min * long_min * zero_min : 0x0
+long_min * long_min * zero_plus : 0x0
+long_min * long_min * zero : 0x0
+long_min * long_min * NaN : NaN
+long_min * long_min * Inf_plus : Inf
+long_min * long_min * Inf_min : -Inf
+long_min * long_min * Inf : Inf
+long_min * long_min * long_max : 0x1fffffffce+15
+long_min * long_min * long_min : 0xee+23
+long_min * long_min * int_max : 0x1fffffffce+15
+long_min * long_min * int_min : 0xee+23
+long_min * long_min * uint_max : 0x3fffffffce+15
+long_min * long_min * ulong_max : 0x3fffffffce+15
+long_min * long_min * double_min : 0x.1e-239
+long_min * long_min * double_max : Inf
+long_min * long_min * float_min : 0x.1e-15
+long_min * long_min * float_max : 0x3fffffce+41
+int_max / zero_min : -Inf
+int_max / zero_plus : Inf
+int_max / zero : Inf
+int_max / NaN : NaN
+int_max / Inf_plus : 0x0
+int_max / Inf_min : 0x0
+int_max / Inf : 0x0
+int_max / long_max : 0x1
+int_max / long_min : 0xf.00000002
+int_max / int_max : 0x1
+int_max / int_min : 0xf.00000002
+int_max / uint_max : 0x.7fffffff8
+int_max / ulong_max : 0x.7fffffff8
+int_max / double_min : Inf
+int_max / double_max : 0x.7fffffff000004e-248
+int_max / float_min : 0x1fffffffce+31
+int_max / float_max : 0x.08000007f00008e-23
+int_max * zero_min : 0x0
+int_max * zero_plus : 0x0
+int_max * zero : 0x0
+int_max * NaN : NaN
+int_max * Inf_plus : Inf
+int_max * Inf_min : -Inf
+int_max * Inf : Inf
+int_max * long_max : 0x3fffffffe+8
+int_max * long_min : 0xc00000008e+7
+int_max * int_max : 0x3fffffffe+8
+int_max * int_min : 0xc00000008e+7
+int_max * uint_max : 0x7ffffffe8e+7
+int_max * ulong_max : 0x7ffffffe8e+7
+int_max * double_min : 0x.1fffffffce-247
+int_max * double_max : Inf
+int_max * float_min : 0x.1fffffffce-23
+int_max * float_max : 0x7fffff7fe+32
+int_max + zero_min : 0x7fffffff
+int_max + zero_plus : 0x7fffffff
+int_max + zero : 0x7fffffff
+int_max + NaN : NaN
+int_max + Inf_plus : Inf
+int_max + Inf_min : -Inf
+int_max + Inf : Inf
+int_max + long_max : 0x0fffffffe
+int_max + long_min : 0xf
+int_max + int_max : 0x0fffffffe
+int_max + int_min : 0xf
+int_max + uint_max : 0x17ffffffe
+int_max + ulong_max : 0x17ffffffe
+int_max + double_min : 0x7fffffff
+int_max + double_max : 0x0fffffffffffff8e+242
+int_max + float_min : 0x7fffffff
+int_max + float_max : 0x0ffffffe+26
+int_max - zero_min : 0x7fffffff
+int_max - zero_plus : 0x7fffffff
+int_max - zero : 0x7fffffff
+int_max - NaN : NaN
+int_max - Inf_plus : -Inf
+int_max - Inf_min : Inf
+int_max - Inf : -Inf
+int_max - long_max : 0x0
+int_max - long_min : 0x0ffffffff
+int_max - int_max : 0x0
+int_max - int_min : 0x0ffffffff
+int_max - uint_max : 0x8e+7
+int_max - ulong_max : 0x8e+7
+int_max - double_min : 0x7fffffff
+int_max - double_max : 0xf00000000000008e+242
+int_max - float_min : 0x7fffffff
+int_max - float_max : 0xf000001e+26
+int_max > zero_min : 0x1
+int_max > zero_plus : 0x1
+int_max > zero : 0x1
+int_max > NaN : 0x0
+int_max > Inf_plus : 0x0
+int_max > Inf_min : 0x1
+int_max > Inf : 0x0
+int_max > long_max : 0x0
+int_max > long_min : 0x1
+int_max > int_max : 0x0
+int_max > int_min : 0x1
+int_max > uint_max : 0x0
+int_max > ulong_max : 0x0
+int_max > double_min : 0x1
+int_max > double_max : 0x0
+int_max > float_min : 0x1
+int_max > float_max : 0x0
+int_max < zero_min : 0x0
+int_max < zero_plus : 0x0
+int_max < zero : 0x0
+int_max < NaN : 0x0
+int_max < Inf_plus : 0x1
+int_max < Inf_min : 0x0
+int_max < Inf : 0x1
+int_max < long_max : 0x0
+int_max < long_min : 0x0
+int_max < int_max : 0x0
+int_max < int_min : 0x0
+int_max < uint_max : 0x1
+int_max < ulong_max : 0x1
+int_max < double_min : 0x0
+int_max < double_max : 0x1
+int_max < float_min : 0x0
+int_max < float_max : 0x1
+int_max >= zero_min : 0x1
+int_max >= zero_plus : 0x1
+int_max >= zero : 0x1
+int_max >= NaN : 0x0
+int_max >= Inf_plus : 0x0
+int_max >= Inf_min : 0x1
+int_max >= Inf : 0x0
+int_max >= long_max : 0x1
+int_max >= long_min : 0x1
+int_max >= int_max : 0x1
+int_max >= int_min : 0x1
+int_max >= uint_max : 0x0
+int_max >= ulong_max : 0x0
+int_max >= double_min : 0x1
+int_max >= double_max : 0x0
+int_max >= float_min : 0x1
+int_max >= float_max : 0x0
+int_max <= zero_min : 0x0
+int_max <= zero_plus : 0x0
+int_max <= zero : 0x0
+int_max <= NaN : 0x0
+int_max <= Inf_plus : 0x1
+int_max <= Inf_min : 0x0
+int_max <= Inf : 0x1
+int_max <= long_max : 0x1
+int_max <= long_min : 0x0
+int_max <= int_max : 0x1
+int_max <= int_min : 0x0
+int_max <= uint_max : 0x1
+int_max <= ulong_max : 0x1
+int_max <= double_min : 0x0
+int_max <= double_max : 0x1
+int_max <= float_min : 0x0
+int_max <= float_max : 0x1
+int_max == zero_min : 0x0
+int_max == zero_plus : 0x0
+int_max == zero : 0x0
+int_max == NaN : 0x0
+int_max == Inf_plus : 0x0
+int_max == Inf_min : 0x0
+int_max == Inf : 0x0
+int_max == long_max : 0x1
+int_max == long_min : 0x0
+int_max == int_max : 0x1
+int_max == int_min : 0x0
+int_max == uint_max : 0x0
+int_max == ulong_max : 0x0
+int_max == double_min : 0x0
+int_max == double_max : 0x0
+int_max == float_min : 0x0
+int_max == float_max : 0x0
+int_max != zero_min : 0x1
+int_max != zero_plus : 0x1
+int_max != zero : 0x1
+int_max != NaN : 0x1
+int_max != Inf_plus : 0x1
+int_max != Inf_min : 0x1
+int_max != Inf : 0x1
+int_max != long_max : 0x0
+int_max != long_min : 0x1
+int_max != int_max : 0x0
+int_max != int_min : 0x1
+int_max != uint_max : 0x1
+int_max != ulong_max : 0x1
+int_max != double_min : 0x1
+int_max != double_max : 0x1
+int_max != float_min : 0x1
+int_max != float_max : 0x1
+int_max * int_max * zero_min : 0x0
+int_max * int_max * zero_plus : 0x0
+int_max * int_max * zero : 0x0
+int_max * int_max * NaN : NaN
+int_max * int_max * Inf_plus : Inf
+int_max * int_max * Inf_min : -Inf
+int_max * int_max * Inf : Inf
+int_max * int_max * long_max : 0x1fffffff4e+15
+int_max * int_max * long_min : 0xe00000008e+15
+int_max * int_max * int_max : 0x1fffffff4e+15
+int_max * int_max * int_min : 0xe00000008e+15
+int_max * int_max * uint_max : 0x3ffffffece+15
+int_max * int_max * ulong_max : 0x3ffffffece+15
+int_max * int_max * double_min : 0x.0fffffffce-239
+int_max * int_max * double_max : Inf
+int_max * int_max * float_min : 0x.0fffffffce-15
+int_max * int_max * float_max : 0x3fffffbfe+40
+int_min / zero_min : Inf
+int_min / zero_plus : -Inf
+int_min / zero : -Inf
+int_min / NaN : NaN
+int_min / Inf_plus : 0x0
+int_min / Inf_min : 0x0
+int_min / Inf : 0x0
+int_min / long_max : 0xe.fffffffe
+int_min / long_min : 0x1
+int_min / int_max : 0xe.fffffffe
+int_min / int_min : 0x1
+int_min / uint_max : 0xf.7fffffff8
+int_min / ulong_max : 0xf.7fffffff8
+int_min / double_min : -Inf
+int_min / double_max : 0x.f7ffffffffffff8e-247
+int_min / float_min : 0xee+39
+int_min / float_max : 0x.f7fffff7fffff8e-23
+int_min * zero_min : 0x0
+int_min * zero_plus : 0x0
+int_min * zero : 0x0
+int_min * NaN : NaN
+int_min * Inf_plus : -Inf
+int_min * Inf_min : Inf
+int_min * Inf : -Inf
+int_min * long_max : 0xc00000008e+7
+int_min * long_min : 0x4e+15
+int_min * int_max : 0xc00000008e+7
+int_min * int_min : 0x4e+15
+int_min * uint_max : 0x800000008e+7
+int_min * ulong_max : 0x800000008e+7
+int_min * double_min : 0x.ee-247
+int_min * double_max : -Inf
+int_min * float_min : 0x.ee-23
+int_min * float_max : 0x8000008e+33
+int_min + zero_min : 0x8e+7
+int_min + zero_plus : 0x8e+7
+int_min + zero : 0x8e+7
+int_min + NaN : NaN
+int_min + Inf_plus : Inf
+int_min + Inf_min : -Inf
+int_min + Inf : Inf
+int_min + long_max : 0xf
+int_min + long_min : 0xfe+8
+int_min + int_max : 0xf
+int_min + int_min : 0xfe+8
+int_min + uint_max : 0x7fffffff
+int_min + ulong_max : 0x7fffffff
+int_min + double_min : 0x8e+7
+int_min + double_max : 0x0fffffffffffff8e+242
+int_min + float_min : 0x8e+7
+int_min + float_max : 0x0ffffffe+26
+int_min - zero_min : 0x8e+7
+int_min - zero_plus : 0x8e+7
+int_min - zero : 0x8e+7
+int_min - NaN : NaN
+int_min - Inf_plus : -Inf
+int_min - Inf_min : Inf
+int_min - Inf : -Inf
+int_min - long_max : 0xf00000001
+int_min - long_min : 0x0
+int_min - int_max : 0xf00000001
+int_min - int_min : 0x0
+int_min - uint_max : 0xe80000001
+int_min - ulong_max : 0xe80000001
+int_min - double_min : 0x8e+7
+int_min - double_max : 0xf00000000000008e+242
+int_min - float_min : 0x8e+7
+int_min - float_max : 0xf000001e+26
+int_min > zero_min : 0x0
+int_min > zero_plus : 0x0
+int_min > zero : 0x0
+int_min > NaN : 0x0
+int_min > Inf_plus : 0x0
+int_min > Inf_min : 0x1
+int_min > Inf : 0x0
+int_min > long_max : 0x0
+int_min > long_min : 0x0
+int_min > int_max : 0x0
+int_min > int_min : 0x0
+int_min > uint_max : 0x0
+int_min > ulong_max : 0x0
+int_min > double_min : 0x0
+int_min > double_max : 0x0
+int_min > float_min : 0x0
+int_min > float_max : 0x0
+int_min < zero_min : 0x1
+int_min < zero_plus : 0x1
+int_min < zero : 0x1
+int_min < NaN : 0x0
+int_min < Inf_plus : 0x1
+int_min < Inf_min : 0x0
+int_min < Inf : 0x1
+int_min < long_max : 0x1
+int_min < long_min : 0x0
+int_min < int_max : 0x1
+int_min < int_min : 0x0
+int_min < uint_max : 0x1
+int_min < ulong_max : 0x1
+int_min < double_min : 0x1
+int_min < double_max : 0x1
+int_min < float_min : 0x1
+int_min < float_max : 0x1
+int_min >= zero_min : 0x0
+int_min >= zero_plus : 0x0
+int_min >= zero : 0x0
+int_min >= NaN : 0x0
+int_min >= Inf_plus : 0x0
+int_min >= Inf_min : 0x1
+int_min >= Inf : 0x0
+int_min >= long_max : 0x0
+int_min >= long_min : 0x1
+int_min >= int_max : 0x0
+int_min >= int_min : 0x1
+int_min >= uint_max : 0x0
+int_min >= ulong_max : 0x0
+int_min >= double_min : 0x0
+int_min >= double_max : 0x0
+int_min >= float_min : 0x0
+int_min >= float_max : 0x0
+int_min <= zero_min : 0x1
+int_min <= zero_plus : 0x1
+int_min <= zero : 0x1
+int_min <= NaN : 0x0
+int_min <= Inf_plus : 0x1
+int_min <= Inf_min : 0x0
+int_min <= Inf : 0x1
+int_min <= long_max : 0x1
+int_min <= long_min : 0x1
+int_min <= int_max : 0x1
+int_min <= int_min : 0x1
+int_min <= uint_max : 0x1
+int_min <= ulong_max : 0x1
+int_min <= double_min : 0x1
+int_min <= double_max : 0x1
+int_min <= float_min : 0x1
+int_min <= float_max : 0x1
+int_min == zero_min : 0x0
+int_min == zero_plus : 0x0
+int_min == zero : 0x0
+int_min == NaN : 0x0
+int_min == Inf_plus : 0x0
+int_min == Inf_min : 0x0
+int_min == Inf : 0x0
+int_min == long_max : 0x0
+int_min == long_min : 0x1
+int_min == int_max : 0x0
+int_min == int_min : 0x1
+int_min == uint_max : 0x0
+int_min == ulong_max : 0x0
+int_min == double_min : 0x0
+int_min == double_max : 0x0
+int_min == float_min : 0x0
+int_min == float_max : 0x0
+int_min != zero_min : 0x1
+int_min != zero_plus : 0x1
+int_min != zero : 0x1
+int_min != NaN : 0x1
+int_min != Inf_plus : 0x1
+int_min != Inf_min : 0x1
+int_min != Inf : 0x1
+int_min != long_max : 0x1
+int_min != long_min : 0x0
+int_min != int_max : 0x1
+int_min != int_min : 0x0
+int_min != uint_max : 0x1
+int_min != ulong_max : 0x1
+int_min != double_min : 0x1
+int_min != double_max : 0x1
+int_min != float_min : 0x1
+int_min != float_max : 0x1
+int_min * int_min * zero_min : 0x0
+int_min * int_min * zero_plus : 0x0
+int_min * int_min * zero : 0x0
+int_min * int_min * NaN : NaN
+int_min * int_min * Inf_plus : Inf
+int_min * int_min * Inf_min : -Inf
+int_min * int_min * Inf : Inf
+int_min * int_min * long_max : 0x1fffffffce+15
+int_min * int_min * long_min : 0xee+23
+int_min * int_min * int_max : 0x1fffffffce+15
+int_min * int_min * int_min : 0xee+23
+int_min * int_min * uint_max : 0x3fffffffce+15
+int_min * int_min * ulong_max : 0x3fffffffce+15
+int_min * int_min * double_min : 0x.1e-239
+int_min * int_min * double_max : Inf
+int_min * int_min * float_min : 0x.1e-15
+int_min * int_min * float_max : 0x3fffffce+41
+uint_max / zero_min : -Inf
+uint_max / zero_plus : Inf
+uint_max / zero : Inf
+uint_max / NaN : NaN
+uint_max / Inf_plus : 0x0
+uint_max / Inf_min : 0x0
+uint_max / Inf : 0x0
+uint_max / long_max : 0x2.00000002
+uint_max / long_min : 0xe.00000002
+uint_max / int_max : 0x2.00000002
+uint_max / int_min : 0xe.00000002
+uint_max / uint_max : 0x1
+uint_max / ulong_max : 0x1
+uint_max / double_min : Inf
+uint_max / double_max : 0x.0ffffffff000008e-247
+uint_max / float_min : 0x3fffffffce+31
+uint_max / float_max : 0x.1000000ff0001e-23
+uint_max * zero_min : 0x0
+uint_max * zero_plus : 0x0
+uint_max * zero : 0x0
+uint_max * NaN : NaN
+uint_max * Inf_plus : Inf
+uint_max * Inf_min : -Inf
+uint_max * Inf : Inf
+uint_max * long_max : 0x7ffffffe8e+7
+uint_max * long_min : 0x800000008e+7
+uint_max * int_max : 0x7ffffffe8e+7
+uint_max * int_min : 0x800000008e+7
+uint_max * uint_max : 0x0fffffffee+8
+uint_max * ulong_max : 0x0fffffffee+8
+uint_max * double_min : 0x.3fffffffce-247
+uint_max * double_max : Inf
+uint_max * float_min : 0x.3fffffffce-23
+uint_max * float_max : 0x0fffffeffe+32
+uint_max + zero_min : 0x0ffffffff
+uint_max + zero_plus : 0x0ffffffff
+uint_max + zero : 0x0ffffffff
+uint_max + NaN : NaN
+uint_max + Inf_plus : Inf
+uint_max + Inf_min : -Inf
+uint_max + Inf : Inf
+uint_max + long_max : 0x17ffffffe
+uint_max + long_min : 0x7fffffff
+uint_max + int_max : 0x17ffffffe
+uint_max + int_min : 0x7fffffff
+uint_max + uint_max : 0x1fffffffe
+uint_max + ulong_max : 0x1fffffffe
+uint_max + double_min : 0x0ffffffff
+uint_max + double_max : 0x0fffffffffffff8e+242
+uint_max + float_min : 0x0ffffffff
+uint_max + float_max : 0x0ffffffe+26
+uint_max - zero_min : 0x0ffffffff
+uint_max - zero_plus : 0x0ffffffff
+uint_max - zero : 0x0ffffffff
+uint_max - NaN : NaN
+uint_max - Inf_plus : -Inf
+uint_max - Inf_min : Inf
+uint_max - Inf : -Inf
+uint_max - long_max : 0x08e+7
+uint_max - long_min : 0x17fffffff
+uint_max - int_max : 0x08e+7
+uint_max - int_min : 0x17fffffff
+uint_max - uint_max : 0x0
+uint_max - ulong_max : 0x0
+uint_max - double_min : 0x0ffffffff
+uint_max - double_max : 0xf00000000000008e+242
+uint_max - float_min : 0x0ffffffff
+uint_max - float_max : 0xf000001e+26
+uint_max > zero_min : 0x1
+uint_max > zero_plus : 0x1
+uint_max > zero : 0x1
+uint_max > NaN : 0x0
+uint_max > Inf_plus : 0x0
+uint_max > Inf_min : 0x1
+uint_max > Inf : 0x0
+uint_max > long_max : 0x1
+uint_max > long_min : 0x1
+uint_max > int_max : 0x1
+uint_max > int_min : 0x1
+uint_max > uint_max : 0x0
+uint_max > ulong_max : 0x0
+uint_max > double_min : 0x1
+uint_max > double_max : 0x0
+uint_max > float_min : 0x1
+uint_max > float_max : 0x0
+uint_max < zero_min : 0x0
+uint_max < zero_plus : 0x0
+uint_max < zero : 0x0
+uint_max < NaN : 0x0
+uint_max < Inf_plus : 0x1
+uint_max < Inf_min : 0x0
+uint_max < Inf : 0x1
+uint_max < long_max : 0x0
+uint_max < long_min : 0x0
+uint_max < int_max : 0x0
+uint_max < int_min : 0x0
+uint_max < uint_max : 0x0
+uint_max < ulong_max : 0x0
+uint_max < double_min : 0x0
+uint_max < double_max : 0x1
+uint_max < float_min : 0x0
+uint_max < float_max : 0x1
+uint_max >= zero_min : 0x1
+uint_max >= zero_plus : 0x1
+uint_max >= zero : 0x1
+uint_max >= NaN : 0x0
+uint_max >= Inf_plus : 0x0
+uint_max >= Inf_min : 0x1
+uint_max >= Inf : 0x0
+uint_max >= long_max : 0x1
+uint_max >= long_min : 0x1
+uint_max >= int_max : 0x1
+uint_max >= int_min : 0x1
+uint_max >= uint_max : 0x1
+uint_max >= ulong_max : 0x1
+uint_max >= double_min : 0x1
+uint_max >= double_max : 0x0
+uint_max >= float_min : 0x1
+uint_max >= float_max : 0x0
+uint_max <= zero_min : 0x0
+uint_max <= zero_plus : 0x0
+uint_max <= zero : 0x0
+uint_max <= NaN : 0x0
+uint_max <= Inf_plus : 0x1
+uint_max <= Inf_min : 0x0
+uint_max <= Inf : 0x1
+uint_max <= long_max : 0x0
+uint_max <= long_min : 0x0
+uint_max <= int_max : 0x0
+uint_max <= int_min : 0x0
+uint_max <= uint_max : 0x1
+uint_max <= ulong_max : 0x1
+uint_max <= double_min : 0x0
+uint_max <= double_max : 0x1
+uint_max <= float_min : 0x0
+uint_max <= float_max : 0x1
+uint_max == zero_min : 0x0
+uint_max == zero_plus : 0x0
+uint_max == zero : 0x0
+uint_max == NaN : 0x0
+uint_max == Inf_plus : 0x0
+uint_max == Inf_min : 0x0
+uint_max == Inf : 0x0
+uint_max == long_max : 0x0
+uint_max == long_min : 0x0
+uint_max == int_max : 0x0
+uint_max == int_min : 0x0
+uint_max == uint_max : 0x1
+uint_max == ulong_max : 0x1
+uint_max == double_min : 0x0
+uint_max == double_max : 0x0
+uint_max == float_min : 0x0
+uint_max == float_max : 0x0
+uint_max != zero_min : 0x1
+uint_max != zero_plus : 0x1
+uint_max != zero : 0x1
+uint_max != NaN : 0x1
+uint_max != Inf_plus : 0x1
+uint_max != Inf_min : 0x1
+uint_max != Inf : 0x1
+uint_max != long_max : 0x1
+uint_max != long_min : 0x1
+uint_max != int_max : 0x1
+uint_max != int_min : 0x1
+uint_max != uint_max : 0x0
+uint_max != ulong_max : 0x0
+uint_max != double_min : 0x1
+uint_max != double_max : 0x1
+uint_max != float_min : 0x1
+uint_max != float_max : 0x1
+uint_max * uint_max * zero_min : 0x0
+uint_max * uint_max * zero_plus : 0x0
+uint_max * uint_max * zero : 0x0
+uint_max * uint_max * NaN : NaN
+uint_max * uint_max * Inf_plus : Inf
+uint_max * uint_max * Inf_min : -Inf
+uint_max * uint_max * Inf : Inf
+uint_max * uint_max * long_max : 0x7ffffffee+16
+uint_max * uint_max * long_min : 0x80000001e+16
+uint_max * uint_max * int_max : 0x7ffffffee+16
+uint_max * uint_max * int_min : 0x80000001e+16
+uint_max * uint_max * uint_max : 0x0fffffffde+16
+uint_max * uint_max * ulong_max : 0x0fffffffde+16
+uint_max * uint_max * double_min : 0x.3fffffff8e-239
+uint_max * uint_max * double_max : Inf
+uint_max * uint_max * float_min : 0x.3fffffff8e-15
+uint_max * uint_max * float_max : 0x0fffffefee+40
+ulong_max / zero_min : -Inf
+ulong_max / zero_plus : Inf
+ulong_max / zero : Inf
+ulong_max / NaN : NaN
+ulong_max / Inf_plus : 0x0
+ulong_max / Inf_min : 0x0
+ulong_max / Inf : 0x0
+ulong_max / long_max : 0x2.00000002
+ulong_max / long_min : 0xe.00000002
+ulong_max / int_max : 0x2.00000002
+ulong_max / int_min : 0xe.00000002
+ulong_max / uint_max : 0x1
+ulong_max / ulong_max : 0x1
+ulong_max / double_min : Inf
+ulong_max / double_max : 0x.0ffffffff000008e-247
+ulong_max / float_min : 0x3fffffffce+31
+ulong_max / float_max : 0x.1000000ff0001e-23
+ulong_max * zero_min : 0x0
+ulong_max * zero_plus : 0x0
+ulong_max * zero : 0x0
+ulong_max * NaN : NaN
+ulong_max * Inf_plus : Inf
+ulong_max * Inf_min : -Inf
+ulong_max * Inf : Inf
+ulong_max * long_max : 0x7ffffffe8e+7
+ulong_max * long_min : 0x800000008e+7
+ulong_max * int_max : 0x7ffffffe8e+7
+ulong_max * int_min : 0x800000008e+7
+ulong_max * uint_max : 0x0fffffffee+8
+ulong_max * ulong_max : 0x0fffffffee+8
+ulong_max * double_min : 0x.3fffffffce-247
+ulong_max * double_max : Inf
+ulong_max * float_min : 0x.3fffffffce-23
+ulong_max * float_max : 0x0fffffeffe+32
+ulong_max + zero_min : 0x0ffffffff
+ulong_max + zero_plus : 0x0ffffffff
+ulong_max + zero : 0x0ffffffff
+ulong_max + NaN : NaN
+ulong_max + Inf_plus : Inf
+ulong_max + Inf_min : -Inf
+ulong_max + Inf : Inf
+ulong_max + long_max : 0x17ffffffe
+ulong_max + long_min : 0x7fffffff
+ulong_max + int_max : 0x17ffffffe
+ulong_max + int_min : 0x7fffffff
+ulong_max + uint_max : 0x1fffffffe
+ulong_max + ulong_max : 0x1fffffffe
+ulong_max + double_min : 0x0ffffffff
+ulong_max + double_max : 0x0fffffffffffff8e+242
+ulong_max + float_min : 0x0ffffffff
+ulong_max + float_max : 0x0ffffffe+26
+ulong_max - zero_min : 0x0ffffffff
+ulong_max - zero_plus : 0x0ffffffff
+ulong_max - zero : 0x0ffffffff
+ulong_max - NaN : NaN
+ulong_max - Inf_plus : -Inf
+ulong_max - Inf_min : Inf
+ulong_max - Inf : -Inf
+ulong_max - long_max : 0x08e+7
+ulong_max - long_min : 0x17fffffff
+ulong_max - int_max : 0x08e+7
+ulong_max - int_min : 0x17fffffff
+ulong_max - uint_max : 0x0
+ulong_max - ulong_max : 0x0
+ulong_max - double_min : 0x0ffffffff
+ulong_max - double_max : 0xf00000000000008e+242
+ulong_max - float_min : 0x0ffffffff
+ulong_max - float_max : 0xf000001e+26
+ulong_max > zero_min : 0x1
+ulong_max > zero_plus : 0x1
+ulong_max > zero : 0x1
+ulong_max > NaN : 0x0
+ulong_max > Inf_plus : 0x0
+ulong_max > Inf_min : 0x1
+ulong_max > Inf : 0x0
+ulong_max > long_max : 0x1
+ulong_max > long_min : 0x1
+ulong_max > int_max : 0x1
+ulong_max > int_min : 0x1
+ulong_max > uint_max : 0x0
+ulong_max > ulong_max : 0x0
+ulong_max > double_min : 0x1
+ulong_max > double_max : 0x0
+ulong_max > float_min : 0x1
+ulong_max > float_max : 0x0
+ulong_max < zero_min : 0x0
+ulong_max < zero_plus : 0x0
+ulong_max < zero : 0x0
+ulong_max < NaN : 0x0
+ulong_max < Inf_plus : 0x1
+ulong_max < Inf_min : 0x0
+ulong_max < Inf : 0x1
+ulong_max < long_max : 0x0
+ulong_max < long_min : 0x0
+ulong_max < int_max : 0x0
+ulong_max < int_min : 0x0
+ulong_max < uint_max : 0x0
+ulong_max < ulong_max : 0x0
+ulong_max < double_min : 0x0
+ulong_max < double_max : 0x1
+ulong_max < float_min : 0x0
+ulong_max < float_max : 0x1
+ulong_max >= zero_min : 0x1
+ulong_max >= zero_plus : 0x1
+ulong_max >= zero : 0x1
+ulong_max >= NaN : 0x0
+ulong_max >= Inf_plus : 0x0
+ulong_max >= Inf_min : 0x1
+ulong_max >= Inf : 0x0
+ulong_max >= long_max : 0x1
+ulong_max >= long_min : 0x1
+ulong_max >= int_max : 0x1
+ulong_max >= int_min : 0x1
+ulong_max >= uint_max : 0x1
+ulong_max >= ulong_max : 0x1
+ulong_max >= double_min : 0x1
+ulong_max >= double_max : 0x0
+ulong_max >= float_min : 0x1
+ulong_max >= float_max : 0x0
+ulong_max <= zero_min : 0x0
+ulong_max <= zero_plus : 0x0
+ulong_max <= zero : 0x0
+ulong_max <= NaN : 0x0
+ulong_max <= Inf_plus : 0x1
+ulong_max <= Inf_min : 0x0
+ulong_max <= Inf : 0x1
+ulong_max <= long_max : 0x0
+ulong_max <= long_min : 0x0
+ulong_max <= int_max : 0x0
+ulong_max <= int_min : 0x0
+ulong_max <= uint_max : 0x1
+ulong_max <= ulong_max : 0x1
+ulong_max <= double_min : 0x0
+ulong_max <= double_max : 0x1
+ulong_max <= float_min : 0x0
+ulong_max <= float_max : 0x1
+ulong_max == zero_min : 0x0
+ulong_max == zero_plus : 0x0
+ulong_max == zero : 0x0
+ulong_max == NaN : 0x0
+ulong_max == Inf_plus : 0x0
+ulong_max == Inf_min : 0x0
+ulong_max == Inf : 0x0
+ulong_max == long_max : 0x0
+ulong_max == long_min : 0x0
+ulong_max == int_max : 0x0
+ulong_max == int_min : 0x0
+ulong_max == uint_max : 0x1
+ulong_max == ulong_max : 0x1
+ulong_max == double_min : 0x0
+ulong_max == double_max : 0x0
+ulong_max == float_min : 0x0
+ulong_max == float_max : 0x0
+ulong_max != zero_min : 0x1
+ulong_max != zero_plus : 0x1
+ulong_max != zero : 0x1
+ulong_max != NaN : 0x1
+ulong_max != Inf_plus : 0x1
+ulong_max != Inf_min : 0x1
+ulong_max != Inf : 0x1
+ulong_max != long_max : 0x1
+ulong_max != long_min : 0x1
+ulong_max != int_max : 0x1
+ulong_max != int_min : 0x1
+ulong_max != uint_max : 0x0
+ulong_max != ulong_max : 0x0
+ulong_max != double_min : 0x1
+ulong_max != double_max : 0x1
+ulong_max != float_min : 0x1
+ulong_max != float_max : 0x1
+ulong_max * ulong_max * zero_min : 0x0
+ulong_max * ulong_max * zero_plus : 0x0
+ulong_max * ulong_max * zero : 0x0
+ulong_max * ulong_max * NaN : NaN
+ulong_max * ulong_max * Inf_plus : Inf
+ulong_max * ulong_max * Inf_min : -Inf
+ulong_max * ulong_max * Inf : Inf
+ulong_max * ulong_max * long_max : 0x7ffffffee+16
+ulong_max * ulong_max * long_min : 0x80000001e+16
+ulong_max * ulong_max * int_max : 0x7ffffffee+16
+ulong_max * ulong_max * int_min : 0x80000001e+16
+ulong_max * ulong_max * uint_max : 0x0fffffffde+16
+ulong_max * ulong_max * ulong_max : 0x0fffffffde+16
+ulong_max * ulong_max * double_min : 0x.3fffffff8e-239
+ulong_max * ulong_max * double_max : Inf
+ulong_max * ulong_max * float_min : 0x.3fffffff8e-15
+ulong_max * ulong_max * float_max : 0x0fffffefee+40
+****************** limits fx_float_double
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x7fffffff
+long_min : 0x8e+7
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+double_min / zero_min : -Inf
+double_min / zero_plus : Inf
+double_min / zero : Inf
+double_min / NaN : NaN
+double_min / Inf_plus : 0x0
+double_min / Inf_min : 0x0
+double_min / Inf : 0x0
+double_min / long_max : 0x.4e-263
+double_min / long_min : 0x.ce-263
+double_min / int_max : 0x.4e-263
+double_min / int_min : 0x.ce-263
+double_min / uint_max : 0x.2e-263
+double_min / ulong_max : 0x.2e-263
+double_min / double_min : 0x1
+double_min / double_max : 0x0
+double_min / float_min : 0x.1e-223
+double_min / float_max : 0x0
+double_min * zero_min : 0x0
+double_min * zero_plus : 0x0
+double_min * zero : 0x0
+double_min * NaN : NaN
+double_min * Inf_plus : Inf
+double_min * Inf_min : -Inf
+double_min * Inf : Inf
+double_min * long_max : 0x.1fffffffce-247
+double_min * long_min : 0x.ee-247
+double_min * int_max : 0x.1fffffffce-247
+double_min * int_min : 0x.ee-247
+double_min * uint_max : 0x.3fffffffce-247
+double_min * ulong_max : 0x.3fffffffce-247
+double_min * double_min : 0x0
+double_min * double_max : 0x3.ffffffffffffe
+double_min * float_min : 0x0
+double_min * float_max : 0x.3fffffce-223
+double_min + zero_min : 0x.4e-255
+double_min + zero_plus : 0x.4e-255
+double_min + zero : 0x.4e-255
+double_min + NaN : NaN
+double_min + Inf_plus : Inf
+double_min + Inf_min : -Inf
+double_min + Inf : Inf
+double_min + long_max : 0x7fffffff
+double_min + long_min : 0x8e+7
+double_min + int_max : 0x7fffffff
+double_min + int_min : 0x8e+7
+double_min + uint_max : 0x0ffffffff
+double_min + ulong_max : 0x0ffffffff
+double_min + double_min : 0x.08e-254
+double_min + double_max : 0x0fffffffffffff8e+242
+double_min + float_min : 0x.4e-31
+double_min + float_max : 0x0ffffffe+26
+double_min - zero_min : 0x.4e-255
+double_min - zero_plus : 0x.4e-255
+double_min - zero : 0x.4e-255
+double_min - NaN : NaN
+double_min - Inf_plus : -Inf
+double_min - Inf_min : Inf
+double_min - Inf : -Inf
+double_min - long_max : 0x80000001
+double_min - long_min : 0x08e+7
+double_min - int_max : 0x80000001
+double_min - int_min : 0x08e+7
+double_min - uint_max : 0xf00000001
+double_min - ulong_max : 0xf00000001
+double_min - double_min : 0x0
+double_min - double_max : 0xf00000000000008e+242
+double_min - float_min : 0x.ce-31
+double_min - float_max : 0xf000001e+26
+double_min > zero_min : 0x1
+double_min > zero_plus : 0x1
+double_min > zero : 0x1
+double_min > NaN : 0x0
+double_min > Inf_plus : 0x0
+double_min > Inf_min : 0x1
+double_min > Inf : 0x0
+double_min > long_max : 0x0
+double_min > long_min : 0x1
+double_min > int_max : 0x0
+double_min > int_min : 0x1
+double_min > uint_max : 0x0
+double_min > ulong_max : 0x0
+double_min > double_min : 0x0
+double_min > double_max : 0x0
+double_min > float_min : 0x0
+double_min > float_max : 0x0
+double_min < zero_min : 0x0
+double_min < zero_plus : 0x0
+double_min < zero : 0x0
+double_min < NaN : 0x0
+double_min < Inf_plus : 0x1
+double_min < Inf_min : 0x0
+double_min < Inf : 0x1
+double_min < long_max : 0x1
+double_min < long_min : 0x0
+double_min < int_max : 0x1
+double_min < int_min : 0x0
+double_min < uint_max : 0x1
+double_min < ulong_max : 0x1
+double_min < double_min : 0x0
+double_min < double_max : 0x1
+double_min < float_min : 0x1
+double_min < float_max : 0x1
+double_min >= zero_min : 0x1
+double_min >= zero_plus : 0x1
+double_min >= zero : 0x1
+double_min >= NaN : 0x0
+double_min >= Inf_plus : 0x0
+double_min >= Inf_min : 0x1
+double_min >= Inf : 0x0
+double_min >= long_max : 0x0
+double_min >= long_min : 0x1
+double_min >= int_max : 0x0
+double_min >= int_min : 0x1
+double_min >= uint_max : 0x0
+double_min >= ulong_max : 0x0
+double_min >= double_min : 0x1
+double_min >= double_max : 0x0
+double_min >= float_min : 0x0
+double_min >= float_max : 0x0
+double_min <= zero_min : 0x0
+double_min <= zero_plus : 0x0
+double_min <= zero : 0x0
+double_min <= NaN : 0x0
+double_min <= Inf_plus : 0x1
+double_min <= Inf_min : 0x0
+double_min <= Inf : 0x1
+double_min <= long_max : 0x1
+double_min <= long_min : 0x0
+double_min <= int_max : 0x1
+double_min <= int_min : 0x0
+double_min <= uint_max : 0x1
+double_min <= ulong_max : 0x1
+double_min <= double_min : 0x1
+double_min <= double_max : 0x1
+double_min <= float_min : 0x1
+double_min <= float_max : 0x1
+double_min == zero_min : 0x0
+double_min == zero_plus : 0x0
+double_min == zero : 0x0
+double_min == NaN : 0x0
+double_min == Inf_plus : 0x0
+double_min == Inf_min : 0x0
+double_min == Inf : 0x0
+double_min == long_max : 0x0
+double_min == long_min : 0x0
+double_min == int_max : 0x0
+double_min == int_min : 0x0
+double_min == uint_max : 0x0
+double_min == ulong_max : 0x0
+double_min == double_min : 0x1
+double_min == double_max : 0x0
+double_min == float_min : 0x0
+double_min == float_max : 0x0
+double_min != zero_min : 0x1
+double_min != zero_plus : 0x1
+double_min != zero : 0x1
+double_min != NaN : 0x1
+double_min != Inf_plus : 0x1
+double_min != Inf_min : 0x1
+double_min != Inf : 0x1
+double_min != long_max : 0x1
+double_min != long_min : 0x1
+double_min != int_max : 0x1
+double_min != int_min : 0x1
+double_min != uint_max : 0x1
+double_min != ulong_max : 0x1
+double_min != double_min : 0x0
+double_min != double_max : 0x1
+double_min != float_min : 0x1
+double_min != float_max : 0x1
+double_min * double_min * zero_min : 0x0
+double_min * double_min * zero_plus : 0x0
+double_min * double_min * zero : 0x0
+double_min * double_min * NaN : NaN
+double_min * double_min * Inf_plus : NaN
+double_min * double_min * Inf_min : NaN
+double_min * double_min * Inf : NaN
+double_min * double_min * long_max : 0x0
+double_min * double_min * long_min : 0x0
+double_min * double_min * int_max : 0x0
+double_min * double_min * int_min : 0x0
+double_min * double_min * uint_max : 0x0
+double_min * double_min * ulong_max : 0x0
+double_min * double_min * double_min : 0x0
+double_min * double_min * double_max : 0x0
+double_min * double_min * float_min : 0x0
+double_min * double_min * float_max : 0x0
+double_max / zero_min : -Inf
+double_max / zero_plus : Inf
+double_max / zero : Inf
+double_max / NaN : NaN
+double_max / Inf_plus : 0x0
+double_max / Inf_min : 0x0
+double_max / Inf : 0x0
+double_max / long_max : 0x200000004e+240
+double_max / long_min : 0xe0000000000001e+235
+double_max / int_max : 0x200000004e+240
+double_max / int_min : 0xe0000000000001e+235
+double_max / uint_max : 0x100000001e+240
+double_max / ulong_max : 0x100000001e+240
+double_max / double_min : Inf
+double_max / double_max : 0x1
+double_max / float_min : Inf
+double_max / float_max : 0x1000001000001e+212
+double_max * zero_min : 0x0
+double_max * zero_plus : 0x0
+double_max * zero : 0x0
+double_max * NaN : NaN
+double_max * Inf_plus : Inf
+double_max * Inf_min : -Inf
+double_max * Inf : Inf
+double_max * long_max : Inf
+double_max * long_min : -Inf
+double_max * int_max : Inf
+double_max * int_min : -Inf
+double_max * uint_max : Inf
+double_max * ulong_max : Inf
+double_max * double_min : 0x3.ffffffffffffe
+double_max * double_max : Inf
+double_max * float_min : 0x3ffffffffffffee+211
+double_max * float_max : Inf
+double_max + zero_min : 0x0fffffffffffff8e+242
+double_max + zero_plus : 0x0fffffffffffff8e+242
+double_max + zero : 0x0fffffffffffff8e+242
+double_max + NaN : NaN
+double_max + Inf_plus : Inf
+double_max + Inf_min : -Inf
+double_max + Inf : Inf
+double_max + long_max : 0x0fffffffffffff8e+242
+double_max + long_min : 0x0fffffffffffff8e+242
+double_max + int_max : 0x0fffffffffffff8e+242
+double_max + int_min : 0x0fffffffffffff8e+242
+double_max + uint_max : 0x0fffffffffffff8e+242
+double_max + ulong_max : 0x0fffffffffffff8e+242
+double_max + double_min : 0x0fffffffffffff8e+242
+double_max + double_max : Inf
+double_max + float_min : 0x0fffffffffffff8e+242
+double_max + float_max : 0x0fffffffffffff8e+242
+double_max - zero_min : 0x0fffffffffffff8e+242
+double_max - zero_plus : 0x0fffffffffffff8e+242
+double_max - zero : 0x0fffffffffffff8e+242
+double_max - NaN : NaN
+double_max - Inf_plus : -Inf
+double_max - Inf_min : Inf
+double_max - Inf : -Inf
+double_max - long_max : 0x0fffffffffffff8e+242
+double_max - long_min : 0x0fffffffffffff8e+242
+double_max - int_max : 0x0fffffffffffff8e+242
+double_max - int_min : 0x0fffffffffffff8e+242
+double_max - uint_max : 0x0fffffffffffff8e+242
+double_max - ulong_max : 0x0fffffffffffff8e+242
+double_max - double_min : 0x0fffffffffffff8e+242
+double_max - double_max : 0x0
+double_max - float_min : 0x0fffffffffffff8e+242
+double_max - float_max : 0x0fffffffffffff8e+242
+double_max > zero_min : 0x1
+double_max > zero_plus : 0x1
+double_max > zero : 0x1
+double_max > NaN : 0x0
+double_max > Inf_plus : 0x0
+double_max > Inf_min : 0x1
+double_max > Inf : 0x0
+double_max > long_max : 0x1
+double_max > long_min : 0x1
+double_max > int_max : 0x1
+double_max > int_min : 0x1
+double_max > uint_max : 0x1
+double_max > ulong_max : 0x1
+double_max > double_min : 0x1
+double_max > double_max : 0x0
+double_max > float_min : 0x1
+double_max > float_max : 0x1
+double_max < zero_min : 0x0
+double_max < zero_plus : 0x0
+double_max < zero : 0x0
+double_max < NaN : 0x0
+double_max < Inf_plus : 0x1
+double_max < Inf_min : 0x0
+double_max < Inf : 0x1
+double_max < long_max : 0x0
+double_max < long_min : 0x0
+double_max < int_max : 0x0
+double_max < int_min : 0x0
+double_max < uint_max : 0x0
+double_max < ulong_max : 0x0
+double_max < double_min : 0x0
+double_max < double_max : 0x0
+double_max < float_min : 0x0
+double_max < float_max : 0x0
+double_max >= zero_min : 0x1
+double_max >= zero_plus : 0x1
+double_max >= zero : 0x1
+double_max >= NaN : 0x0
+double_max >= Inf_plus : 0x0
+double_max >= Inf_min : 0x1
+double_max >= Inf : 0x0
+double_max >= long_max : 0x1
+double_max >= long_min : 0x1
+double_max >= int_max : 0x1
+double_max >= int_min : 0x1
+double_max >= uint_max : 0x1
+double_max >= ulong_max : 0x1
+double_max >= double_min : 0x1
+double_max >= double_max : 0x1
+double_max >= float_min : 0x1
+double_max >= float_max : 0x1
+double_max <= zero_min : 0x0
+double_max <= zero_plus : 0x0
+double_max <= zero : 0x0
+double_max <= NaN : 0x0
+double_max <= Inf_plus : 0x1
+double_max <= Inf_min : 0x0
+double_max <= Inf : 0x1
+double_max <= long_max : 0x0
+double_max <= long_min : 0x0
+double_max <= int_max : 0x0
+double_max <= int_min : 0x0
+double_max <= uint_max : 0x0
+double_max <= ulong_max : 0x0
+double_max <= double_min : 0x0
+double_max <= double_max : 0x1
+double_max <= float_min : 0x0
+double_max <= float_max : 0x0
+double_max == zero_min : 0x0
+double_max == zero_plus : 0x0
+double_max == zero : 0x0
+double_max == NaN : 0x0
+double_max == Inf_plus : 0x0
+double_max == Inf_min : 0x0
+double_max == Inf : 0x0
+double_max == long_max : 0x0
+double_max == long_min : 0x0
+double_max == int_max : 0x0
+double_max == int_min : 0x0
+double_max == uint_max : 0x0
+double_max == ulong_max : 0x0
+double_max == double_min : 0x0
+double_max == double_max : 0x1
+double_max == float_min : 0x0
+double_max == float_max : 0x0
+double_max != zero_min : 0x1
+double_max != zero_plus : 0x1
+double_max != zero : 0x1
+double_max != NaN : 0x1
+double_max != Inf_plus : 0x1
+double_max != Inf_min : 0x1
+double_max != Inf : 0x1
+double_max != long_max : 0x1
+double_max != long_min : 0x1
+double_max != int_max : 0x1
+double_max != int_min : 0x1
+double_max != uint_max : 0x1
+double_max != ulong_max : 0x1
+double_max != double_min : 0x1
+double_max != double_max : 0x0
+double_max != float_min : 0x1
+double_max != float_max : 0x1
+double_max * double_max * zero_min : NaN
+double_max * double_max * zero_plus : NaN
+double_max * double_max * zero : NaN
+double_max * double_max * NaN : NaN
+double_max * double_max * Inf_plus : Inf
+double_max * double_max * Inf_min : -Inf
+double_max * double_max * Inf : Inf
+double_max * double_max * long_max : Inf
+double_max * double_max * long_min : -Inf
+double_max * double_max * int_max : Inf
+double_max * double_max * int_min : -Inf
+double_max * double_max * uint_max : Inf
+double_max * double_max * ulong_max : Inf
+double_max * double_max * double_min : Inf
+double_max * double_max * double_max : Inf
+double_max * double_max * float_min : Inf
+double_max * double_max * float_max : Inf
+float_min / zero_min : -Inf
+float_min / zero_plus : Inf
+float_min / zero : Inf
+float_min / NaN : NaN
+float_min / Inf_plus : 0x0
+float_min / Inf_min : 0x0
+float_min / Inf : 0x0
+float_min / long_max : 0x.080000001e-38
+float_min / long_min : 0x.8e-39
+float_min / int_max : 0x.080000001e-38
+float_min / int_min : 0x.8e-39
+float_min / uint_max : 0x.400000004e-39
+float_min / ulong_max : 0x.400000004e-39
+float_min / double_min : 0x1e+224
+float_min / double_max : 0x0
+float_min / float_min : 0x1
+float_min / float_max : 0x.4000004000004e-63
+float_min * zero_min : 0x0
+float_min * zero_plus : 0x0
+float_min * zero : 0x0
+float_min * NaN : NaN
+float_min * Inf_plus : Inf
+float_min * Inf_min : -Inf
+float_min * Inf : Inf
+float_min * long_max : 0x.1fffffffce-23
+float_min * long_min : 0x.ee-23
+float_min * int_max : 0x.1fffffffce-23
+float_min * int_min : 0x.ee-23
+float_min * uint_max : 0x.3fffffffce-23
+float_min * ulong_max : 0x.3fffffffce-23
+float_min * double_min : 0x0
+float_min * double_max : 0x3ffffffffffffee+211
+float_min * float_min : 0x.1e-62
+float_min * float_max : 0x3.fffffc
+float_min + zero_min : 0x.4e-31
+float_min + zero_plus : 0x.4e-31
+float_min + zero : 0x.4e-31
+float_min + NaN : NaN
+float_min + Inf_plus : Inf
+float_min + Inf_min : -Inf
+float_min + Inf : Inf
+float_min + long_max : 0x7fffffff
+float_min + long_min : 0x8e+7
+float_min + int_max : 0x7fffffff
+float_min + int_min : 0x8e+7
+float_min + uint_max : 0x0ffffffff
+float_min + ulong_max : 0x0ffffffff
+float_min + double_min : 0x.4e-31
+float_min + double_max : 0x0fffffffffffff8e+242
+float_min + float_min : 0x.08e-30
+float_min + float_max : 0x0ffffffe+26
+float_min - zero_min : 0x.4e-31
+float_min - zero_plus : 0x.4e-31
+float_min - zero : 0x.4e-31
+float_min - NaN : NaN
+float_min - Inf_plus : -Inf
+float_min - Inf_min : Inf
+float_min - Inf : -Inf
+float_min - long_max : 0x80000001
+float_min - long_min : 0x08e+7
+float_min - int_max : 0x80000001
+float_min - int_min : 0x08e+7
+float_min - uint_max : 0xf00000001
+float_min - ulong_max : 0xf00000001
+float_min - double_min : 0x.4e-31
+float_min - double_max : 0xf00000000000008e+242
+float_min - float_min : 0x0
+float_min - float_max : 0xf000001e+26
+float_min > zero_min : 0x1
+float_min > zero_plus : 0x1
+float_min > zero : 0x1
+float_min > NaN : 0x0
+float_min > Inf_plus : 0x0
+float_min > Inf_min : 0x1
+float_min > Inf : 0x0
+float_min > long_max : 0x0
+float_min > long_min : 0x1
+float_min > int_max : 0x0
+float_min > int_min : 0x1
+float_min > uint_max : 0x0
+float_min > ulong_max : 0x0
+float_min > double_min : 0x1
+float_min > double_max : 0x0
+float_min > float_min : 0x0
+float_min > float_max : 0x0
+float_min < zero_min : 0x0
+float_min < zero_plus : 0x0
+float_min < zero : 0x0
+float_min < NaN : 0x0
+float_min < Inf_plus : 0x1
+float_min < Inf_min : 0x0
+float_min < Inf : 0x1
+float_min < long_max : 0x1
+float_min < long_min : 0x0
+float_min < int_max : 0x1
+float_min < int_min : 0x0
+float_min < uint_max : 0x1
+float_min < ulong_max : 0x1
+float_min < double_min : 0x0
+float_min < double_max : 0x1
+float_min < float_min : 0x0
+float_min < float_max : 0x1
+float_min >= zero_min : 0x1
+float_min >= zero_plus : 0x1
+float_min >= zero : 0x1
+float_min >= NaN : 0x0
+float_min >= Inf_plus : 0x0
+float_min >= Inf_min : 0x1
+float_min >= Inf : 0x0
+float_min >= long_max : 0x0
+float_min >= long_min : 0x1
+float_min >= int_max : 0x0
+float_min >= int_min : 0x1
+float_min >= uint_max : 0x0
+float_min >= ulong_max : 0x0
+float_min >= double_min : 0x1
+float_min >= double_max : 0x0
+float_min >= float_min : 0x1
+float_min >= float_max : 0x0
+float_min <= zero_min : 0x0
+float_min <= zero_plus : 0x0
+float_min <= zero : 0x0
+float_min <= NaN : 0x0
+float_min <= Inf_plus : 0x1
+float_min <= Inf_min : 0x0
+float_min <= Inf : 0x1
+float_min <= long_max : 0x1
+float_min <= long_min : 0x0
+float_min <= int_max : 0x1
+float_min <= int_min : 0x0
+float_min <= uint_max : 0x1
+float_min <= ulong_max : 0x1
+float_min <= double_min : 0x0
+float_min <= double_max : 0x1
+float_min <= float_min : 0x1
+float_min <= float_max : 0x1
+float_min == zero_min : 0x0
+float_min == zero_plus : 0x0
+float_min == zero : 0x0
+float_min == NaN : 0x0
+float_min == Inf_plus : 0x0
+float_min == Inf_min : 0x0
+float_min == Inf : 0x0
+float_min == long_max : 0x0
+float_min == long_min : 0x0
+float_min == int_max : 0x0
+float_min == int_min : 0x0
+float_min == uint_max : 0x0
+float_min == ulong_max : 0x0
+float_min == double_min : 0x0
+float_min == double_max : 0x0
+float_min == float_min : 0x1
+float_min == float_max : 0x0
+float_min != zero_min : 0x1
+float_min != zero_plus : 0x1
+float_min != zero : 0x1
+float_min != NaN : 0x1
+float_min != Inf_plus : 0x1
+float_min != Inf_min : 0x1
+float_min != Inf : 0x1
+float_min != long_max : 0x1
+float_min != long_min : 0x1
+float_min != int_max : 0x1
+float_min != int_min : 0x1
+float_min != uint_max : 0x1
+float_min != ulong_max : 0x1
+float_min != double_min : 0x1
+float_min != double_max : 0x1
+float_min != float_min : 0x0
+float_min != float_max : 0x1
+float_min * float_min * zero_min : 0x0
+float_min * float_min * zero_plus : 0x0
+float_min * float_min * zero : 0x0
+float_min * float_min * NaN : NaN
+float_min * float_min * Inf_plus : Inf
+float_min * float_min * Inf_min : -Inf
+float_min * float_min * Inf : Inf
+float_min * float_min * long_max : 0x.7fffffffe-55
+float_min * float_min * long_min : 0x.8e-55
+float_min * float_min * int_max : 0x.7fffffffe-55
+float_min * float_min * int_min : 0x.8e-55
+float_min * float_min * uint_max : 0x.0ffffffffe-54
+float_min * float_min * ulong_max : 0x.0ffffffffe-54
+float_min * float_min * double_min : 0x0
+float_min * float_min * double_max : 0x0fffffffffffff8e+179
+float_min * float_min * float_min : 0x.4e-94
+float_min * float_min * float_max : 0x.0ffffffe-30
+float_max / zero_min : -Inf
+float_max / zero_plus : Inf
+float_max / zero : Inf
+float_max / NaN : NaN
+float_max / Inf_plus : 0x0
+float_max / Inf_min : 0x0
+float_max / Inf : 0x0
+float_max / long_max : 0x1fffffe04e+16
+float_max / long_min : 0xe000002e+18
+float_max / int_max : 0x1fffffe04e+16
+float_max / int_min : 0xe000002e+18
+float_max / uint_max : 0x0ffffff01e+16
+float_max / ulong_max : 0x0ffffff01e+16
+float_max / double_min : Inf
+float_max / double_max : 0x.0ffffff00000008e-223
+float_max / float_min : 0x3fffffce+57
+float_max / float_max : 0x1
+float_max * zero_min : 0x0
+float_max * zero_plus : 0x0
+float_max * zero : 0x0
+float_max * NaN : NaN
+float_max * Inf_plus : Inf
+float_max * Inf_min : -Inf
+float_max * Inf : Inf
+float_max * long_max : 0x7fffff7fe+32
+float_max * long_min : 0x8000008e+33
+float_max * int_max : 0x7fffff7fe+32
+float_max * int_min : 0x8000008e+33
+float_max * uint_max : 0x0fffffeffe+32
+float_max * ulong_max : 0x0fffffeffe+32
+float_max * double_min : 0x.3fffffce-223
+float_max * double_max : Inf
+float_max * float_min : 0x3.fffffc
+float_max * float_max : 0x0fffffe000001e+52
+float_max + zero_min : 0x0ffffffe+26
+float_max + zero_plus : 0x0ffffffe+26
+float_max + zero : 0x0ffffffe+26
+float_max + NaN : NaN
+float_max + Inf_plus : Inf
+float_max + Inf_min : -Inf
+float_max + Inf : Inf
+float_max + long_max : 0x0ffffffe+26
+float_max + long_min : 0x0ffffffe+26
+float_max + int_max : 0x0ffffffe+26
+float_max + int_min : 0x0ffffffe+26
+float_max + uint_max : 0x0ffffffe+26
+float_max + ulong_max : 0x0ffffffe+26
+float_max + double_min : 0x0ffffffe+26
+float_max + double_max : 0x0fffffffffffff8e+242
+float_max + float_min : 0x0ffffffe+26
+float_max + float_max : 0x1fffffee+26
+float_max - zero_min : 0x0ffffffe+26
+float_max - zero_plus : 0x0ffffffe+26
+float_max - zero : 0x0ffffffe+26
+float_max - NaN : NaN
+float_max - Inf_plus : -Inf
+float_max - Inf_min : Inf
+float_max - Inf : -Inf
+float_max - long_max : 0x0ffffffe+26
+float_max - long_min : 0x0ffffffe+26
+float_max - int_max : 0x0ffffffe+26
+float_max - int_min : 0x0ffffffe+26
+float_max - uint_max : 0x0ffffffe+26
+float_max - ulong_max : 0x0ffffffe+26
+float_max - double_min : 0x0ffffffe+26
+float_max - double_max : 0xf00000000000008e+242
+float_max - float_min : 0x0ffffffe+26
+float_max - float_max : 0x0
+float_max > zero_min : 0x1
+float_max > zero_plus : 0x1
+float_max > zero : 0x1
+float_max > NaN : 0x0
+float_max > Inf_plus : 0x0
+float_max > Inf_min : 0x1
+float_max > Inf : 0x0
+float_max > long_max : 0x1
+float_max > long_min : 0x1
+float_max > int_max : 0x1
+float_max > int_min : 0x1
+float_max > uint_max : 0x1
+float_max > ulong_max : 0x1
+float_max > double_min : 0x1
+float_max > double_max : 0x0
+float_max > float_min : 0x1
+float_max > float_max : 0x0
+float_max < zero_min : 0x0
+float_max < zero_plus : 0x0
+float_max < zero : 0x0
+float_max < NaN : 0x0
+float_max < Inf_plus : 0x1
+float_max < Inf_min : 0x0
+float_max < Inf : 0x1
+float_max < long_max : 0x0
+float_max < long_min : 0x0
+float_max < int_max : 0x0
+float_max < int_min : 0x0
+float_max < uint_max : 0x0
+float_max < ulong_max : 0x0
+float_max < double_min : 0x0
+float_max < double_max : 0x1
+float_max < float_min : 0x0
+float_max < float_max : 0x0
+float_max >= zero_min : 0x1
+float_max >= zero_plus : 0x1
+float_max >= zero : 0x1
+float_max >= NaN : 0x0
+float_max >= Inf_plus : 0x0
+float_max >= Inf_min : 0x1
+float_max >= Inf : 0x0
+float_max >= long_max : 0x1
+float_max >= long_min : 0x1
+float_max >= int_max : 0x1
+float_max >= int_min : 0x1
+float_max >= uint_max : 0x1
+float_max >= ulong_max : 0x1
+float_max >= double_min : 0x1
+float_max >= double_max : 0x0
+float_max >= float_min : 0x1
+float_max >= float_max : 0x1
+float_max <= zero_min : 0x0
+float_max <= zero_plus : 0x0
+float_max <= zero : 0x0
+float_max <= NaN : 0x0
+float_max <= Inf_plus : 0x1
+float_max <= Inf_min : 0x0
+float_max <= Inf : 0x1
+float_max <= long_max : 0x0
+float_max <= long_min : 0x0
+float_max <= int_max : 0x0
+float_max <= int_min : 0x0
+float_max <= uint_max : 0x0
+float_max <= ulong_max : 0x0
+float_max <= double_min : 0x0
+float_max <= double_max : 0x1
+float_max <= float_min : 0x0
+float_max <= float_max : 0x1
+float_max == zero_min : 0x0
+float_max == zero_plus : 0x0
+float_max == zero : 0x0
+float_max == NaN : 0x0
+float_max == Inf_plus : 0x0
+float_max == Inf_min : 0x0
+float_max == Inf : 0x0
+float_max == long_max : 0x0
+float_max == long_min : 0x0
+float_max == int_max : 0x0
+float_max == int_min : 0x0
+float_max == uint_max : 0x0
+float_max == ulong_max : 0x0
+float_max == double_min : 0x0
+float_max == double_max : 0x0
+float_max == float_min : 0x0
+float_max == float_max : 0x1
+float_max != zero_min : 0x1
+float_max != zero_plus : 0x1
+float_max != zero : 0x1
+float_max != NaN : 0x1
+float_max != Inf_plus : 0x1
+float_max != Inf_min : 0x1
+float_max != Inf : 0x1
+float_max != long_max : 0x1
+float_max != long_min : 0x1
+float_max != int_max : 0x1
+float_max != int_min : 0x1
+float_max != uint_max : 0x1
+float_max != ulong_max : 0x1
+float_max != double_min : 0x1
+float_max != double_max : 0x1
+float_max != float_min : 0x1
+float_max != float_max : 0x0
+float_max * float_max * zero_min : 0x0
+float_max * float_max * zero_plus : 0x0
+float_max * float_max * zero : 0x0
+float_max * float_max * NaN : NaN
+float_max * float_max * Inf_plus : Inf
+float_max * float_max * Inf_min : -Inf
+float_max * float_max * Inf : Inf
+float_max * float_max * long_max : 0x7ffffeff00008e+59
+float_max * float_max * long_min : 0x800000ffffff8e+59
+float_max * float_max * int_max : 0x7ffffeff00008e+59
+float_max * float_max * int_min : 0x800000ffffff8e+59
+float_max * float_max * uint_max : 0x0fffffdff0001e+60
+float_max * float_max * ulong_max : 0x0fffffdff0001e+60
+float_max * float_max * double_min : 0x.3fffff8000004e-191
+float_max * float_max * double_max : Inf
+float_max * float_max * float_min : 0x3fffff8000004e+20
+float_max * float_max * float_max : 0x0fffffd000003e+84
+double_min / NaN : NaN
+****************** limits fx_ufix
+****************** limits fx_ufix_zero
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x07fffffff
+long_min : 0x080000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_Inf
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x07fffffff
+long_min : 0x080000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_long
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x07fffffff
+long_min : 0x080000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_double
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x07fffffff
+long_min : 0x080000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_fix
+****************** limits fx_fix_zero
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x7fffffff
+long_min : 0x80000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0xffffffff
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_Inf
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x7fffffff
+long_min : 0x80000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0xffffffff
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_long
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x7fffffff
+long_min : 0x80000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0xffffffff
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_double
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x7fffffff
+long_min : 0x80000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0xffffffff
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fixed<8, 5>
+****************** limits fx_fixed<8, 5>_zero
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0xff.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0xff.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_Inf
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0xff.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0xff.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_long
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0xff.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0xff.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_double
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0xff.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0xff.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>
+****************** limits fx_ufixed<8, 5>_zero
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x1f.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x1f.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_Inf
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x1f.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x1f.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_long
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x1f.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x1f.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_double
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x1f.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x1f.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.bsd64 b/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.bsd64
new file mode 100644
index 000000000..ab2c16dd6
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.bsd64
@@ -0,0 +1,3482 @@
+SystemC Simulation
+****************** limits fx_float_zero
+****************** limits fx_float_inf
+****************** limits fx_float
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x08e+15
+long_min : 0x8e+15
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x1e+16
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+zero_min / zero_min : NaN
+zero_min / zero_plus : NaN
+zero_min / zero : NaN
+zero_min / NaN : NaN
+zero_min / Inf_plus : 0x0
+zero_min / Inf_min : 0x0
+zero_min / Inf : 0x0
+zero_min / long_max : 0x0
+zero_min / long_min : 0x0
+zero_min / int_max : 0x0
+zero_min / int_min : 0x0
+zero_min / uint_max : 0x0
+zero_min / ulong_max : 0x0
+zero_min / double_min : 0x0
+zero_min / double_max : 0x0
+zero_min / float_min : 0x0
+zero_min / float_max : 0x0
+zero_min * zero_min : 0x0
+zero_min * zero_plus : 0x0
+zero_min * zero : 0x0
+zero_min * NaN : NaN
+zero_min * Inf_plus : NaN
+zero_min * Inf_min : NaN
+zero_min * Inf : NaN
+zero_min * long_max : 0x0
+zero_min * long_min : 0x0
+zero_min * int_max : 0x0
+zero_min * int_min : 0x0
+zero_min * uint_max : 0x0
+zero_min * ulong_max : 0x0
+zero_min * double_min : 0x0
+zero_min * double_max : 0x0
+zero_min * float_min : 0x0
+zero_min * float_max : 0x0
+zero_min + zero_min : 0x0
+zero_min + zero_plus : 0x0
+zero_min + zero : 0x0
+zero_min + NaN : NaN
+zero_min + Inf_plus : Inf
+zero_min + Inf_min : -Inf
+zero_min + Inf : Inf
+zero_min + long_max : 0x08e+15
+zero_min + long_min : 0x8e+15
+zero_min + int_max : 0x7fffffff
+zero_min + int_min : 0x8e+7
+zero_min + uint_max : 0x0ffffffff
+zero_min + ulong_max : 0x1e+16
+zero_min + double_min : 0x.4e-255
+zero_min + double_max : 0x0fffffffffffff8e+242
+zero_min + float_min : 0x.4e-31
+zero_min + float_max : 0x0ffffffe+26
+zero_min - zero_min : 0x0
+zero_min - zero_plus : 0x0
+zero_min - zero : 0x0
+zero_min - NaN : NaN
+zero_min - Inf_plus : -Inf
+zero_min - Inf_min : Inf
+zero_min - Inf : -Inf
+zero_min - long_max : 0x8e+15
+zero_min - long_min : 0x08e+15
+zero_min - int_max : 0x80000001
+zero_min - int_min : 0x08e+7
+zero_min - uint_max : 0xf00000001
+zero_min - ulong_max : 0xfe+16
+zero_min - double_min : 0x.ce-255
+zero_min - double_max : 0xf00000000000008e+242
+zero_min - float_min : 0x.ce-31
+zero_min - float_max : 0xf000001e+26
+zero_min > zero_min : 0x0
+zero_min > zero_plus : 0x0
+zero_min > zero : 0x0
+zero_min > NaN : 0x0
+zero_min > Inf_plus : 0x0
+zero_min > Inf_min : 0x1
+zero_min > Inf : 0x0
+zero_min > long_max : 0x0
+zero_min > long_min : 0x1
+zero_min > int_max : 0x0
+zero_min > int_min : 0x1
+zero_min > uint_max : 0x0
+zero_min > ulong_max : 0x0
+zero_min > double_min : 0x0
+zero_min > double_max : 0x0
+zero_min > float_min : 0x0
+zero_min > float_max : 0x0
+zero_min < zero_min : 0x0
+zero_min < zero_plus : 0x0
+zero_min < zero : 0x0
+zero_min < NaN : 0x0
+zero_min < Inf_plus : 0x1
+zero_min < Inf_min : 0x0
+zero_min < Inf : 0x1
+zero_min < long_max : 0x1
+zero_min < long_min : 0x0
+zero_min < int_max : 0x1
+zero_min < int_min : 0x0
+zero_min < uint_max : 0x1
+zero_min < ulong_max : 0x1
+zero_min < double_min : 0x1
+zero_min < double_max : 0x1
+zero_min < float_min : 0x1
+zero_min < float_max : 0x1
+zero_min >= zero_min : 0x1
+zero_min >= zero_plus : 0x1
+zero_min >= zero : 0x1
+zero_min >= NaN : 0x0
+zero_min >= Inf_plus : 0x0
+zero_min >= Inf_min : 0x1
+zero_min >= Inf : 0x0
+zero_min >= long_max : 0x0
+zero_min >= long_min : 0x1
+zero_min >= int_max : 0x0
+zero_min >= int_min : 0x1
+zero_min >= uint_max : 0x0
+zero_min >= ulong_max : 0x0
+zero_min >= double_min : 0x0
+zero_min >= double_max : 0x0
+zero_min >= float_min : 0x0
+zero_min >= float_max : 0x0
+zero_min <= zero_min : 0x1
+zero_min <= zero_plus : 0x1
+zero_min <= zero : 0x1
+zero_min <= NaN : 0x0
+zero_min <= Inf_plus : 0x1
+zero_min <= Inf_min : 0x0
+zero_min <= Inf : 0x1
+zero_min <= long_max : 0x1
+zero_min <= long_min : 0x0
+zero_min <= int_max : 0x1
+zero_min <= int_min : 0x0
+zero_min <= uint_max : 0x1
+zero_min <= ulong_max : 0x1
+zero_min <= double_min : 0x1
+zero_min <= double_max : 0x1
+zero_min <= float_min : 0x1
+zero_min <= float_max : 0x1
+zero_min == zero_min : 0x1
+zero_min == zero_plus : 0x1
+zero_min == zero : 0x1
+zero_min == NaN : 0x0
+zero_min == Inf_plus : 0x0
+zero_min == Inf_min : 0x0
+zero_min == Inf : 0x0
+zero_min == long_max : 0x0
+zero_min == long_min : 0x0
+zero_min == int_max : 0x0
+zero_min == int_min : 0x0
+zero_min == uint_max : 0x0
+zero_min == ulong_max : 0x0
+zero_min == double_min : 0x0
+zero_min == double_max : 0x0
+zero_min == float_min : 0x0
+zero_min == float_max : 0x0
+zero_min != zero_min : 0x0
+zero_min != zero_plus : 0x0
+zero_min != zero : 0x0
+zero_min != NaN : 0x1
+zero_min != Inf_plus : 0x1
+zero_min != Inf_min : 0x1
+zero_min != Inf : 0x1
+zero_min != long_max : 0x1
+zero_min != long_min : 0x1
+zero_min != int_max : 0x1
+zero_min != int_min : 0x1
+zero_min != uint_max : 0x1
+zero_min != ulong_max : 0x1
+zero_min != double_min : 0x1
+zero_min != double_max : 0x1
+zero_min != float_min : 0x1
+zero_min != float_max : 0x1
+zero_min * zero_min * zero_min : 0x0
+zero_min * zero_min * zero_plus : 0x0
+zero_min * zero_min * zero : 0x0
+zero_min * zero_min * NaN : NaN
+zero_min * zero_min * Inf_plus : NaN
+zero_min * zero_min * Inf_min : NaN
+zero_min * zero_min * Inf : NaN
+zero_min * zero_min * long_max : 0x0
+zero_min * zero_min * long_min : 0x0
+zero_min * zero_min * int_max : 0x0
+zero_min * zero_min * int_min : 0x0
+zero_min * zero_min * uint_max : 0x0
+zero_min * zero_min * ulong_max : 0x0
+zero_min * zero_min * double_min : 0x0
+zero_min * zero_min * double_max : 0x0
+zero_min * zero_min * float_min : 0x0
+zero_min * zero_min * float_max : 0x0
+zero_plus / zero_min : NaN
+zero_plus / zero_plus : NaN
+zero_plus / zero : NaN
+zero_plus / NaN : NaN
+zero_plus / Inf_plus : 0x0
+zero_plus / Inf_min : 0x0
+zero_plus / Inf : 0x0
+zero_plus / long_max : 0x0
+zero_plus / long_min : 0x0
+zero_plus / int_max : 0x0
+zero_plus / int_min : 0x0
+zero_plus / uint_max : 0x0
+zero_plus / ulong_max : 0x0
+zero_plus / double_min : 0x0
+zero_plus / double_max : 0x0
+zero_plus / float_min : 0x0
+zero_plus / float_max : 0x0
+zero_plus * zero_min : 0x0
+zero_plus * zero_plus : 0x0
+zero_plus * zero : 0x0
+zero_plus * NaN : NaN
+zero_plus * Inf_plus : NaN
+zero_plus * Inf_min : NaN
+zero_plus * Inf : NaN
+zero_plus * long_max : 0x0
+zero_plus * long_min : 0x0
+zero_plus * int_max : 0x0
+zero_plus * int_min : 0x0
+zero_plus * uint_max : 0x0
+zero_plus * ulong_max : 0x0
+zero_plus * double_min : 0x0
+zero_plus * double_max : 0x0
+zero_plus * float_min : 0x0
+zero_plus * float_max : 0x0
+zero_plus + zero_min : 0x0
+zero_plus + zero_plus : 0x0
+zero_plus + zero : 0x0
+zero_plus + NaN : NaN
+zero_plus + Inf_plus : Inf
+zero_plus + Inf_min : -Inf
+zero_plus + Inf : Inf
+zero_plus + long_max : 0x08e+15
+zero_plus + long_min : 0x8e+15
+zero_plus + int_max : 0x7fffffff
+zero_plus + int_min : 0x8e+7
+zero_plus + uint_max : 0x0ffffffff
+zero_plus + ulong_max : 0x1e+16
+zero_plus + double_min : 0x.4e-255
+zero_plus + double_max : 0x0fffffffffffff8e+242
+zero_plus + float_min : 0x.4e-31
+zero_plus + float_max : 0x0ffffffe+26
+zero_plus - zero_min : 0x0
+zero_plus - zero_plus : 0x0
+zero_plus - zero : 0x0
+zero_plus - NaN : NaN
+zero_plus - Inf_plus : -Inf
+zero_plus - Inf_min : Inf
+zero_plus - Inf : -Inf
+zero_plus - long_max : 0x8e+15
+zero_plus - long_min : 0x08e+15
+zero_plus - int_max : 0x80000001
+zero_plus - int_min : 0x08e+7
+zero_plus - uint_max : 0xf00000001
+zero_plus - ulong_max : 0xfe+16
+zero_plus - double_min : 0x.ce-255
+zero_plus - double_max : 0xf00000000000008e+242
+zero_plus - float_min : 0x.ce-31
+zero_plus - float_max : 0xf000001e+26
+zero_plus > zero_min : 0x0
+zero_plus > zero_plus : 0x0
+zero_plus > zero : 0x0
+zero_plus > NaN : 0x0
+zero_plus > Inf_plus : 0x0
+zero_plus > Inf_min : 0x1
+zero_plus > Inf : 0x0
+zero_plus > long_max : 0x0
+zero_plus > long_min : 0x1
+zero_plus > int_max : 0x0
+zero_plus > int_min : 0x1
+zero_plus > uint_max : 0x0
+zero_plus > ulong_max : 0x0
+zero_plus > double_min : 0x0
+zero_plus > double_max : 0x0
+zero_plus > float_min : 0x0
+zero_plus > float_max : 0x0
+zero_plus < zero_min : 0x0
+zero_plus < zero_plus : 0x0
+zero_plus < zero : 0x0
+zero_plus < NaN : 0x0
+zero_plus < Inf_plus : 0x1
+zero_plus < Inf_min : 0x0
+zero_plus < Inf : 0x1
+zero_plus < long_max : 0x1
+zero_plus < long_min : 0x0
+zero_plus < int_max : 0x1
+zero_plus < int_min : 0x0
+zero_plus < uint_max : 0x1
+zero_plus < ulong_max : 0x1
+zero_plus < double_min : 0x1
+zero_plus < double_max : 0x1
+zero_plus < float_min : 0x1
+zero_plus < float_max : 0x1
+zero_plus >= zero_min : 0x1
+zero_plus >= zero_plus : 0x1
+zero_plus >= zero : 0x1
+zero_plus >= NaN : 0x0
+zero_plus >= Inf_plus : 0x0
+zero_plus >= Inf_min : 0x1
+zero_plus >= Inf : 0x0
+zero_plus >= long_max : 0x0
+zero_plus >= long_min : 0x1
+zero_plus >= int_max : 0x0
+zero_plus >= int_min : 0x1
+zero_plus >= uint_max : 0x0
+zero_plus >= ulong_max : 0x0
+zero_plus >= double_min : 0x0
+zero_plus >= double_max : 0x0
+zero_plus >= float_min : 0x0
+zero_plus >= float_max : 0x0
+zero_plus <= zero_min : 0x1
+zero_plus <= zero_plus : 0x1
+zero_plus <= zero : 0x1
+zero_plus <= NaN : 0x0
+zero_plus <= Inf_plus : 0x1
+zero_plus <= Inf_min : 0x0
+zero_plus <= Inf : 0x1
+zero_plus <= long_max : 0x1
+zero_plus <= long_min : 0x0
+zero_plus <= int_max : 0x1
+zero_plus <= int_min : 0x0
+zero_plus <= uint_max : 0x1
+zero_plus <= ulong_max : 0x1
+zero_plus <= double_min : 0x1
+zero_plus <= double_max : 0x1
+zero_plus <= float_min : 0x1
+zero_plus <= float_max : 0x1
+zero_plus == zero_min : 0x1
+zero_plus == zero_plus : 0x1
+zero_plus == zero : 0x1
+zero_plus == NaN : 0x0
+zero_plus == Inf_plus : 0x0
+zero_plus == Inf_min : 0x0
+zero_plus == Inf : 0x0
+zero_plus == long_max : 0x0
+zero_plus == long_min : 0x0
+zero_plus == int_max : 0x0
+zero_plus == int_min : 0x0
+zero_plus == uint_max : 0x0
+zero_plus == ulong_max : 0x0
+zero_plus == double_min : 0x0
+zero_plus == double_max : 0x0
+zero_plus == float_min : 0x0
+zero_plus == float_max : 0x0
+zero_plus != zero_min : 0x0
+zero_plus != zero_plus : 0x0
+zero_plus != zero : 0x0
+zero_plus != NaN : 0x1
+zero_plus != Inf_plus : 0x1
+zero_plus != Inf_min : 0x1
+zero_plus != Inf : 0x1
+zero_plus != long_max : 0x1
+zero_plus != long_min : 0x1
+zero_plus != int_max : 0x1
+zero_plus != int_min : 0x1
+zero_plus != uint_max : 0x1
+zero_plus != ulong_max : 0x1
+zero_plus != double_min : 0x1
+zero_plus != double_max : 0x1
+zero_plus != float_min : 0x1
+zero_plus != float_max : 0x1
+zero_plus * zero_plus * zero_min : 0x0
+zero_plus * zero_plus * zero_plus : 0x0
+zero_plus * zero_plus * zero : 0x0
+zero_plus * zero_plus * NaN : NaN
+zero_plus * zero_plus * Inf_plus : NaN
+zero_plus * zero_plus * Inf_min : NaN
+zero_plus * zero_plus * Inf : NaN
+zero_plus * zero_plus * long_max : 0x0
+zero_plus * zero_plus * long_min : 0x0
+zero_plus * zero_plus * int_max : 0x0
+zero_plus * zero_plus * int_min : 0x0
+zero_plus * zero_plus * uint_max : 0x0
+zero_plus * zero_plus * ulong_max : 0x0
+zero_plus * zero_plus * double_min : 0x0
+zero_plus * zero_plus * double_max : 0x0
+zero_plus * zero_plus * float_min : 0x0
+zero_plus * zero_plus * float_max : 0x0
+zero / zero_min : NaN
+zero / zero_plus : NaN
+zero / zero : NaN
+zero / NaN : NaN
+zero / Inf_plus : 0x0
+zero / Inf_min : 0x0
+zero / Inf : 0x0
+zero / long_max : 0x0
+zero / long_min : 0x0
+zero / int_max : 0x0
+zero / int_min : 0x0
+zero / uint_max : 0x0
+zero / ulong_max : 0x0
+zero / double_min : 0x0
+zero / double_max : 0x0
+zero / float_min : 0x0
+zero / float_max : 0x0
+zero * zero_min : 0x0
+zero * zero_plus : 0x0
+zero * zero : 0x0
+zero * NaN : NaN
+zero * Inf_plus : NaN
+zero * Inf_min : NaN
+zero * Inf : NaN
+zero * long_max : 0x0
+zero * long_min : 0x0
+zero * int_max : 0x0
+zero * int_min : 0x0
+zero * uint_max : 0x0
+zero * ulong_max : 0x0
+zero * double_min : 0x0
+zero * double_max : 0x0
+zero * float_min : 0x0
+zero * float_max : 0x0
+zero + zero_min : 0x0
+zero + zero_plus : 0x0
+zero + zero : 0x0
+zero + NaN : NaN
+zero + Inf_plus : Inf
+zero + Inf_min : -Inf
+zero + Inf : Inf
+zero + long_max : 0x08e+15
+zero + long_min : 0x8e+15
+zero + int_max : 0x7fffffff
+zero + int_min : 0x8e+7
+zero + uint_max : 0x0ffffffff
+zero + ulong_max : 0x1e+16
+zero + double_min : 0x.4e-255
+zero + double_max : 0x0fffffffffffff8e+242
+zero + float_min : 0x.4e-31
+zero + float_max : 0x0ffffffe+26
+zero - zero_min : 0x0
+zero - zero_plus : 0x0
+zero - zero : 0x0
+zero - NaN : NaN
+zero - Inf_plus : -Inf
+zero - Inf_min : Inf
+zero - Inf : -Inf
+zero - long_max : 0x8e+15
+zero - long_min : 0x08e+15
+zero - int_max : 0x80000001
+zero - int_min : 0x08e+7
+zero - uint_max : 0xf00000001
+zero - ulong_max : 0xfe+16
+zero - double_min : 0x.ce-255
+zero - double_max : 0xf00000000000008e+242
+zero - float_min : 0x.ce-31
+zero - float_max : 0xf000001e+26
+zero > zero_min : 0x0
+zero > zero_plus : 0x0
+zero > zero : 0x0
+zero > NaN : 0x0
+zero > Inf_plus : 0x0
+zero > Inf_min : 0x1
+zero > Inf : 0x0
+zero > long_max : 0x0
+zero > long_min : 0x1
+zero > int_max : 0x0
+zero > int_min : 0x1
+zero > uint_max : 0x0
+zero > ulong_max : 0x0
+zero > double_min : 0x0
+zero > double_max : 0x0
+zero > float_min : 0x0
+zero > float_max : 0x0
+zero < zero_min : 0x0
+zero < zero_plus : 0x0
+zero < zero : 0x0
+zero < NaN : 0x0
+zero < Inf_plus : 0x1
+zero < Inf_min : 0x0
+zero < Inf : 0x1
+zero < long_max : 0x1
+zero < long_min : 0x0
+zero < int_max : 0x1
+zero < int_min : 0x0
+zero < uint_max : 0x1
+zero < ulong_max : 0x1
+zero < double_min : 0x1
+zero < double_max : 0x1
+zero < float_min : 0x1
+zero < float_max : 0x1
+zero >= zero_min : 0x1
+zero >= zero_plus : 0x1
+zero >= zero : 0x1
+zero >= NaN : 0x0
+zero >= Inf_plus : 0x0
+zero >= Inf_min : 0x1
+zero >= Inf : 0x0
+zero >= long_max : 0x0
+zero >= long_min : 0x1
+zero >= int_max : 0x0
+zero >= int_min : 0x1
+zero >= uint_max : 0x0
+zero >= ulong_max : 0x0
+zero >= double_min : 0x0
+zero >= double_max : 0x0
+zero >= float_min : 0x0
+zero >= float_max : 0x0
+zero <= zero_min : 0x1
+zero <= zero_plus : 0x1
+zero <= zero : 0x1
+zero <= NaN : 0x0
+zero <= Inf_plus : 0x1
+zero <= Inf_min : 0x0
+zero <= Inf : 0x1
+zero <= long_max : 0x1
+zero <= long_min : 0x0
+zero <= int_max : 0x1
+zero <= int_min : 0x0
+zero <= uint_max : 0x1
+zero <= ulong_max : 0x1
+zero <= double_min : 0x1
+zero <= double_max : 0x1
+zero <= float_min : 0x1
+zero <= float_max : 0x1
+zero == zero_min : 0x1
+zero == zero_plus : 0x1
+zero == zero : 0x1
+zero == NaN : 0x0
+zero == Inf_plus : 0x0
+zero == Inf_min : 0x0
+zero == Inf : 0x0
+zero == long_max : 0x0
+zero == long_min : 0x0
+zero == int_max : 0x0
+zero == int_min : 0x0
+zero == uint_max : 0x0
+zero == ulong_max : 0x0
+zero == double_min : 0x0
+zero == double_max : 0x0
+zero == float_min : 0x0
+zero == float_max : 0x0
+zero != zero_min : 0x0
+zero != zero_plus : 0x0
+zero != zero : 0x0
+zero != NaN : 0x1
+zero != Inf_plus : 0x1
+zero != Inf_min : 0x1
+zero != Inf : 0x1
+zero != long_max : 0x1
+zero != long_min : 0x1
+zero != int_max : 0x1
+zero != int_min : 0x1
+zero != uint_max : 0x1
+zero != ulong_max : 0x1
+zero != double_min : 0x1
+zero != double_max : 0x1
+zero != float_min : 0x1
+zero != float_max : 0x1
+zero * zero * zero_min : 0x0
+zero * zero * zero_plus : 0x0
+zero * zero * zero : 0x0
+zero * zero * NaN : NaN
+zero * zero * Inf_plus : NaN
+zero * zero * Inf_min : NaN
+zero * zero * Inf : NaN
+zero * zero * long_max : 0x0
+zero * zero * long_min : 0x0
+zero * zero * int_max : 0x0
+zero * zero * int_min : 0x0
+zero * zero * uint_max : 0x0
+zero * zero * ulong_max : 0x0
+zero * zero * double_min : 0x0
+zero * zero * double_max : 0x0
+zero * zero * float_min : 0x0
+zero * zero * float_max : 0x0
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x08e+15
+long_min : 0x8e+15
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x1e+16
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+NaN / zero_min : NaN
+NaN / zero_plus : NaN
+NaN / zero : NaN
+NaN / NaN : NaN
+NaN / Inf_plus : NaN
+NaN / Inf_min : NaN
+NaN / Inf : NaN
+NaN / long_max : NaN
+NaN / long_min : NaN
+NaN / int_max : NaN
+NaN / int_min : NaN
+NaN / uint_max : NaN
+NaN / ulong_max : NaN
+NaN / double_min : NaN
+NaN / double_max : NaN
+NaN / float_min : NaN
+NaN / float_max : NaN
+NaN * zero_min : NaN
+NaN * zero_plus : NaN
+NaN * zero : NaN
+NaN * NaN : NaN
+NaN * Inf_plus : NaN
+NaN * Inf_min : NaN
+NaN * Inf : NaN
+NaN * long_max : NaN
+NaN * long_min : NaN
+NaN * int_max : NaN
+NaN * int_min : NaN
+NaN * uint_max : NaN
+NaN * ulong_max : NaN
+NaN * double_min : NaN
+NaN * double_max : NaN
+NaN * float_min : NaN
+NaN * float_max : NaN
+NaN + zero_min : NaN
+NaN + zero_plus : NaN
+NaN + zero : NaN
+NaN + NaN : NaN
+NaN + Inf_plus : NaN
+NaN + Inf_min : NaN
+NaN + Inf : NaN
+NaN + long_max : NaN
+NaN + long_min : NaN
+NaN + int_max : NaN
+NaN + int_min : NaN
+NaN + uint_max : NaN
+NaN + ulong_max : NaN
+NaN + double_min : NaN
+NaN + double_max : NaN
+NaN + float_min : NaN
+NaN + float_max : NaN
+NaN - zero_min : NaN
+NaN - zero_plus : NaN
+NaN - zero : NaN
+NaN - NaN : NaN
+NaN - Inf_plus : NaN
+NaN - Inf_min : NaN
+NaN - Inf : NaN
+NaN - long_max : NaN
+NaN - long_min : NaN
+NaN - int_max : NaN
+NaN - int_min : NaN
+NaN - uint_max : NaN
+NaN - ulong_max : NaN
+NaN - double_min : NaN
+NaN - double_max : NaN
+NaN - float_min : NaN
+NaN - float_max : NaN
+NaN > zero_min : 0x0
+NaN > zero_plus : 0x0
+NaN > zero : 0x0
+NaN > NaN : 0x0
+NaN > Inf_plus : 0x0
+NaN > Inf_min : 0x0
+NaN > Inf : 0x0
+NaN > long_max : 0x0
+NaN > long_min : 0x0
+NaN > int_max : 0x0
+NaN > int_min : 0x0
+NaN > uint_max : 0x0
+NaN > ulong_max : 0x0
+NaN > double_min : 0x0
+NaN > double_max : 0x0
+NaN > float_min : 0x0
+NaN > float_max : 0x0
+NaN < zero_min : 0x0
+NaN < zero_plus : 0x0
+NaN < zero : 0x0
+NaN < NaN : 0x0
+NaN < Inf_plus : 0x0
+NaN < Inf_min : 0x0
+NaN < Inf : 0x0
+NaN < long_max : 0x0
+NaN < long_min : 0x0
+NaN < int_max : 0x0
+NaN < int_min : 0x0
+NaN < uint_max : 0x0
+NaN < ulong_max : 0x0
+NaN < double_min : 0x0
+NaN < double_max : 0x0
+NaN < float_min : 0x0
+NaN < float_max : 0x0
+NaN >= zero_min : 0x0
+NaN >= zero_plus : 0x0
+NaN >= zero : 0x0
+NaN >= NaN : 0x0
+NaN >= Inf_plus : 0x0
+NaN >= Inf_min : 0x0
+NaN >= Inf : 0x0
+NaN >= long_max : 0x0
+NaN >= long_min : 0x0
+NaN >= int_max : 0x0
+NaN >= int_min : 0x0
+NaN >= uint_max : 0x0
+NaN >= ulong_max : 0x0
+NaN >= double_min : 0x0
+NaN >= double_max : 0x0
+NaN >= float_min : 0x0
+NaN >= float_max : 0x0
+NaN <= zero_min : 0x0
+NaN <= zero_plus : 0x0
+NaN <= zero : 0x0
+NaN <= NaN : 0x0
+NaN <= Inf_plus : 0x0
+NaN <= Inf_min : 0x0
+NaN <= Inf : 0x0
+NaN <= long_max : 0x0
+NaN <= long_min : 0x0
+NaN <= int_max : 0x0
+NaN <= int_min : 0x0
+NaN <= uint_max : 0x0
+NaN <= ulong_max : 0x0
+NaN <= double_min : 0x0
+NaN <= double_max : 0x0
+NaN <= float_min : 0x0
+NaN <= float_max : 0x0
+NaN == zero_min : 0x0
+NaN == zero_plus : 0x0
+NaN == zero : 0x0
+NaN == NaN : 0x0
+NaN == Inf_plus : 0x0
+NaN == Inf_min : 0x0
+NaN == Inf : 0x0
+NaN == long_max : 0x0
+NaN == long_min : 0x0
+NaN == int_max : 0x0
+NaN == int_min : 0x0
+NaN == uint_max : 0x0
+NaN == ulong_max : 0x0
+NaN == double_min : 0x0
+NaN == double_max : 0x0
+NaN == float_min : 0x0
+NaN == float_max : 0x0
+NaN != zero_min : 0x1
+NaN != zero_plus : 0x1
+NaN != zero : 0x1
+NaN != NaN : 0x1
+NaN != Inf_plus : 0x1
+NaN != Inf_min : 0x1
+NaN != Inf : 0x1
+NaN != long_max : 0x1
+NaN != long_min : 0x1
+NaN != int_max : 0x1
+NaN != int_min : 0x1
+NaN != uint_max : 0x1
+NaN != ulong_max : 0x1
+NaN != double_min : 0x1
+NaN != double_max : 0x1
+NaN != float_min : 0x1
+NaN != float_max : 0x1
+NaN * NaN * zero_min : NaN
+NaN * NaN * zero_plus : NaN
+NaN * NaN * zero : NaN
+NaN * NaN * NaN : NaN
+NaN * NaN * Inf_plus : NaN
+NaN * NaN * Inf_min : NaN
+NaN * NaN * Inf : NaN
+NaN * NaN * long_max : NaN
+NaN * NaN * long_min : NaN
+NaN * NaN * int_max : NaN
+NaN * NaN * int_min : NaN
+NaN * NaN * uint_max : NaN
+NaN * NaN * ulong_max : NaN
+NaN * NaN * double_min : NaN
+NaN * NaN * double_max : NaN
+NaN * NaN * float_min : NaN
+NaN * NaN * float_max : NaN
+Inf_plus / zero_min : -Inf
+Inf_plus / zero_plus : Inf
+Inf_plus / zero : Inf
+Inf_plus / NaN : NaN
+Inf_plus / Inf_plus : NaN
+Inf_plus / Inf_min : NaN
+Inf_plus / Inf : NaN
+Inf_plus / long_max : Inf
+Inf_plus / long_min : -Inf
+Inf_plus / int_max : Inf
+Inf_plus / int_min : -Inf
+Inf_plus / uint_max : Inf
+Inf_plus / ulong_max : Inf
+Inf_plus / double_min : Inf
+Inf_plus / double_max : Inf
+Inf_plus / float_min : Inf
+Inf_plus / float_max : Inf
+Inf_plus * zero_min : NaN
+Inf_plus * zero_plus : NaN
+Inf_plus * zero : NaN
+Inf_plus * NaN : NaN
+Inf_plus * Inf_plus : Inf
+Inf_plus * Inf_min : -Inf
+Inf_plus * Inf : Inf
+Inf_plus * long_max : Inf
+Inf_plus * long_min : -Inf
+Inf_plus * int_max : Inf
+Inf_plus * int_min : -Inf
+Inf_plus * uint_max : Inf
+Inf_plus * ulong_max : Inf
+Inf_plus * double_min : Inf
+Inf_plus * double_max : Inf
+Inf_plus * float_min : Inf
+Inf_plus * float_max : Inf
+Inf_plus + zero_min : Inf
+Inf_plus + zero_plus : Inf
+Inf_plus + zero : Inf
+Inf_plus + NaN : NaN
+Inf_plus + Inf_plus : Inf
+Inf_plus + Inf_min : NaN
+Inf_plus + Inf : Inf
+Inf_plus + long_max : Inf
+Inf_plus + long_min : Inf
+Inf_plus + int_max : Inf
+Inf_plus + int_min : Inf
+Inf_plus + uint_max : Inf
+Inf_plus + ulong_max : Inf
+Inf_plus + double_min : Inf
+Inf_plus + double_max : Inf
+Inf_plus + float_min : Inf
+Inf_plus + float_max : Inf
+Inf_plus - zero_min : Inf
+Inf_plus - zero_plus : Inf
+Inf_plus - zero : Inf
+Inf_plus - NaN : NaN
+Inf_plus - Inf_plus : NaN
+Inf_plus - Inf_min : Inf
+Inf_plus - Inf : NaN
+Inf_plus - long_max : Inf
+Inf_plus - long_min : Inf
+Inf_plus - int_max : Inf
+Inf_plus - int_min : Inf
+Inf_plus - uint_max : Inf
+Inf_plus - ulong_max : Inf
+Inf_plus - double_min : Inf
+Inf_plus - double_max : Inf
+Inf_plus - float_min : Inf
+Inf_plus - float_max : Inf
+Inf_plus > zero_min : 0x1
+Inf_plus > zero_plus : 0x1
+Inf_plus > zero : 0x1
+Inf_plus > NaN : 0x0
+Inf_plus > Inf_plus : 0x0
+Inf_plus > Inf_min : 0x1
+Inf_plus > Inf : 0x0
+Inf_plus > long_max : 0x1
+Inf_plus > long_min : 0x1
+Inf_plus > int_max : 0x1
+Inf_plus > int_min : 0x1
+Inf_plus > uint_max : 0x1
+Inf_plus > ulong_max : 0x1
+Inf_plus > double_min : 0x1
+Inf_plus > double_max : 0x1
+Inf_plus > float_min : 0x1
+Inf_plus > float_max : 0x1
+Inf_plus < zero_min : 0x0
+Inf_plus < zero_plus : 0x0
+Inf_plus < zero : 0x0
+Inf_plus < NaN : 0x0
+Inf_plus < Inf_plus : 0x0
+Inf_plus < Inf_min : 0x0
+Inf_plus < Inf : 0x0
+Inf_plus < long_max : 0x0
+Inf_plus < long_min : 0x0
+Inf_plus < int_max : 0x0
+Inf_plus < int_min : 0x0
+Inf_plus < uint_max : 0x0
+Inf_plus < ulong_max : 0x0
+Inf_plus < double_min : 0x0
+Inf_plus < double_max : 0x0
+Inf_plus < float_min : 0x0
+Inf_plus < float_max : 0x0
+Inf_plus >= zero_min : 0x1
+Inf_plus >= zero_plus : 0x1
+Inf_plus >= zero : 0x1
+Inf_plus >= NaN : 0x0
+Inf_plus >= Inf_plus : 0x1
+Inf_plus >= Inf_min : 0x1
+Inf_plus >= Inf : 0x1
+Inf_plus >= long_max : 0x1
+Inf_plus >= long_min : 0x1
+Inf_plus >= int_max : 0x1
+Inf_plus >= int_min : 0x1
+Inf_plus >= uint_max : 0x1
+Inf_plus >= ulong_max : 0x1
+Inf_plus >= double_min : 0x1
+Inf_plus >= double_max : 0x1
+Inf_plus >= float_min : 0x1
+Inf_plus >= float_max : 0x1
+Inf_plus <= zero_min : 0x0
+Inf_plus <= zero_plus : 0x0
+Inf_plus <= zero : 0x0
+Inf_plus <= NaN : 0x0
+Inf_plus <= Inf_plus : 0x1
+Inf_plus <= Inf_min : 0x0
+Inf_plus <= Inf : 0x1
+Inf_plus <= long_max : 0x0
+Inf_plus <= long_min : 0x0
+Inf_plus <= int_max : 0x0
+Inf_plus <= int_min : 0x0
+Inf_plus <= uint_max : 0x0
+Inf_plus <= ulong_max : 0x0
+Inf_plus <= double_min : 0x0
+Inf_plus <= double_max : 0x0
+Inf_plus <= float_min : 0x0
+Inf_plus <= float_max : 0x0
+Inf_plus == zero_min : 0x0
+Inf_plus == zero_plus : 0x0
+Inf_plus == zero : 0x0
+Inf_plus == NaN : 0x0
+Inf_plus == Inf_plus : 0x1
+Inf_plus == Inf_min : 0x0
+Inf_plus == Inf : 0x1
+Inf_plus == long_max : 0x0
+Inf_plus == long_min : 0x0
+Inf_plus == int_max : 0x0
+Inf_plus == int_min : 0x0
+Inf_plus == uint_max : 0x0
+Inf_plus == ulong_max : 0x0
+Inf_plus == double_min : 0x0
+Inf_plus == double_max : 0x0
+Inf_plus == float_min : 0x0
+Inf_plus == float_max : 0x0
+Inf_plus != zero_min : 0x1
+Inf_plus != zero_plus : 0x1
+Inf_plus != zero : 0x1
+Inf_plus != NaN : 0x1
+Inf_plus != Inf_plus : 0x0
+Inf_plus != Inf_min : 0x1
+Inf_plus != Inf : 0x0
+Inf_plus != long_max : 0x1
+Inf_plus != long_min : 0x1
+Inf_plus != int_max : 0x1
+Inf_plus != int_min : 0x1
+Inf_plus != uint_max : 0x1
+Inf_plus != ulong_max : 0x1
+Inf_plus != double_min : 0x1
+Inf_plus != double_max : 0x1
+Inf_plus != float_min : 0x1
+Inf_plus != float_max : 0x1
+Inf_plus * Inf_plus * zero_min : NaN
+Inf_plus * Inf_plus * zero_plus : NaN
+Inf_plus * Inf_plus * zero : NaN
+Inf_plus * Inf_plus * NaN : NaN
+Inf_plus * Inf_plus * Inf_plus : Inf
+Inf_plus * Inf_plus * Inf_min : -Inf
+Inf_plus * Inf_plus * Inf : Inf
+Inf_plus * Inf_plus * long_max : Inf
+Inf_plus * Inf_plus * long_min : -Inf
+Inf_plus * Inf_plus * int_max : Inf
+Inf_plus * Inf_plus * int_min : -Inf
+Inf_plus * Inf_plus * uint_max : Inf
+Inf_plus * Inf_plus * ulong_max : Inf
+Inf_plus * Inf_plus * double_min : Inf
+Inf_plus * Inf_plus * double_max : Inf
+Inf_plus * Inf_plus * float_min : Inf
+Inf_plus * Inf_plus * float_max : Inf
+Inf_min / zero_min : Inf
+Inf_min / zero_plus : -Inf
+Inf_min / zero : -Inf
+Inf_min / NaN : NaN
+Inf_min / Inf_plus : NaN
+Inf_min / Inf_min : NaN
+Inf_min / Inf : NaN
+Inf_min / long_max : -Inf
+Inf_min / long_min : Inf
+Inf_min / int_max : -Inf
+Inf_min / int_min : Inf
+Inf_min / uint_max : -Inf
+Inf_min / ulong_max : -Inf
+Inf_min / double_min : -Inf
+Inf_min / double_max : -Inf
+Inf_min / float_min : -Inf
+Inf_min / float_max : -Inf
+Inf_min * zero_min : NaN
+Inf_min * zero_plus : NaN
+Inf_min * zero : NaN
+Inf_min * NaN : NaN
+Inf_min * Inf_plus : -Inf
+Inf_min * Inf_min : Inf
+Inf_min * Inf : -Inf
+Inf_min * long_max : -Inf
+Inf_min * long_min : Inf
+Inf_min * int_max : -Inf
+Inf_min * int_min : Inf
+Inf_min * uint_max : -Inf
+Inf_min * ulong_max : -Inf
+Inf_min * double_min : -Inf
+Inf_min * double_max : -Inf
+Inf_min * float_min : -Inf
+Inf_min * float_max : -Inf
+Inf_min + zero_min : -Inf
+Inf_min + zero_plus : -Inf
+Inf_min + zero : -Inf
+Inf_min + NaN : NaN
+Inf_min + Inf_plus : NaN
+Inf_min + Inf_min : -Inf
+Inf_min + Inf : NaN
+Inf_min + long_max : -Inf
+Inf_min + long_min : -Inf
+Inf_min + int_max : -Inf
+Inf_min + int_min : -Inf
+Inf_min + uint_max : -Inf
+Inf_min + ulong_max : -Inf
+Inf_min + double_min : -Inf
+Inf_min + double_max : -Inf
+Inf_min + float_min : -Inf
+Inf_min + float_max : -Inf
+Inf_min - zero_min : -Inf
+Inf_min - zero_plus : -Inf
+Inf_min - zero : -Inf
+Inf_min - NaN : NaN
+Inf_min - Inf_plus : -Inf
+Inf_min - Inf_min : NaN
+Inf_min - Inf : -Inf
+Inf_min - long_max : -Inf
+Inf_min - long_min : -Inf
+Inf_min - int_max : -Inf
+Inf_min - int_min : -Inf
+Inf_min - uint_max : -Inf
+Inf_min - ulong_max : -Inf
+Inf_min - double_min : -Inf
+Inf_min - double_max : -Inf
+Inf_min - float_min : -Inf
+Inf_min - float_max : -Inf
+Inf_min > zero_min : 0x0
+Inf_min > zero_plus : 0x0
+Inf_min > zero : 0x0
+Inf_min > NaN : 0x0
+Inf_min > Inf_plus : 0x0
+Inf_min > Inf_min : 0x0
+Inf_min > Inf : 0x0
+Inf_min > long_max : 0x0
+Inf_min > long_min : 0x0
+Inf_min > int_max : 0x0
+Inf_min > int_min : 0x0
+Inf_min > uint_max : 0x0
+Inf_min > ulong_max : 0x0
+Inf_min > double_min : 0x0
+Inf_min > double_max : 0x0
+Inf_min > float_min : 0x0
+Inf_min > float_max : 0x0
+Inf_min < zero_min : 0x1
+Inf_min < zero_plus : 0x1
+Inf_min < zero : 0x1
+Inf_min < NaN : 0x0
+Inf_min < Inf_plus : 0x1
+Inf_min < Inf_min : 0x0
+Inf_min < Inf : 0x1
+Inf_min < long_max : 0x1
+Inf_min < long_min : 0x1
+Inf_min < int_max : 0x1
+Inf_min < int_min : 0x1
+Inf_min < uint_max : 0x1
+Inf_min < ulong_max : 0x1
+Inf_min < double_min : 0x1
+Inf_min < double_max : 0x1
+Inf_min < float_min : 0x1
+Inf_min < float_max : 0x1
+Inf_min >= zero_min : 0x0
+Inf_min >= zero_plus : 0x0
+Inf_min >= zero : 0x0
+Inf_min >= NaN : 0x0
+Inf_min >= Inf_plus : 0x0
+Inf_min >= Inf_min : 0x1
+Inf_min >= Inf : 0x0
+Inf_min >= long_max : 0x0
+Inf_min >= long_min : 0x0
+Inf_min >= int_max : 0x0
+Inf_min >= int_min : 0x0
+Inf_min >= uint_max : 0x0
+Inf_min >= ulong_max : 0x0
+Inf_min >= double_min : 0x0
+Inf_min >= double_max : 0x0
+Inf_min >= float_min : 0x0
+Inf_min >= float_max : 0x0
+Inf_min <= zero_min : 0x1
+Inf_min <= zero_plus : 0x1
+Inf_min <= zero : 0x1
+Inf_min <= NaN : 0x0
+Inf_min <= Inf_plus : 0x1
+Inf_min <= Inf_min : 0x1
+Inf_min <= Inf : 0x1
+Inf_min <= long_max : 0x1
+Inf_min <= long_min : 0x1
+Inf_min <= int_max : 0x1
+Inf_min <= int_min : 0x1
+Inf_min <= uint_max : 0x1
+Inf_min <= ulong_max : 0x1
+Inf_min <= double_min : 0x1
+Inf_min <= double_max : 0x1
+Inf_min <= float_min : 0x1
+Inf_min <= float_max : 0x1
+Inf_min == zero_min : 0x0
+Inf_min == zero_plus : 0x0
+Inf_min == zero : 0x0
+Inf_min == NaN : 0x0
+Inf_min == Inf_plus : 0x0
+Inf_min == Inf_min : 0x1
+Inf_min == Inf : 0x0
+Inf_min == long_max : 0x0
+Inf_min == long_min : 0x0
+Inf_min == int_max : 0x0
+Inf_min == int_min : 0x0
+Inf_min == uint_max : 0x0
+Inf_min == ulong_max : 0x0
+Inf_min == double_min : 0x0
+Inf_min == double_max : 0x0
+Inf_min == float_min : 0x0
+Inf_min == float_max : 0x0
+Inf_min != zero_min : 0x1
+Inf_min != zero_plus : 0x1
+Inf_min != zero : 0x1
+Inf_min != NaN : 0x1
+Inf_min != Inf_plus : 0x1
+Inf_min != Inf_min : 0x0
+Inf_min != Inf : 0x1
+Inf_min != long_max : 0x1
+Inf_min != long_min : 0x1
+Inf_min != int_max : 0x1
+Inf_min != int_min : 0x1
+Inf_min != uint_max : 0x1
+Inf_min != ulong_max : 0x1
+Inf_min != double_min : 0x1
+Inf_min != double_max : 0x1
+Inf_min != float_min : 0x1
+Inf_min != float_max : 0x1
+Inf_min * Inf_min * zero_min : NaN
+Inf_min * Inf_min * zero_plus : NaN
+Inf_min * Inf_min * zero : NaN
+Inf_min * Inf_min * NaN : NaN
+Inf_min * Inf_min * Inf_plus : Inf
+Inf_min * Inf_min * Inf_min : -Inf
+Inf_min * Inf_min * Inf : Inf
+Inf_min * Inf_min * long_max : Inf
+Inf_min * Inf_min * long_min : -Inf
+Inf_min * Inf_min * int_max : Inf
+Inf_min * Inf_min * int_min : -Inf
+Inf_min * Inf_min * uint_max : Inf
+Inf_min * Inf_min * ulong_max : Inf
+Inf_min * Inf_min * double_min : Inf
+Inf_min * Inf_min * double_max : Inf
+Inf_min * Inf_min * float_min : Inf
+Inf_min * Inf_min * float_max : Inf
+Inf / zero_min : -Inf
+Inf / zero_plus : Inf
+Inf / zero : Inf
+Inf / NaN : NaN
+Inf / Inf_plus : NaN
+Inf / Inf_min : NaN
+Inf / Inf : NaN
+Inf / long_max : Inf
+Inf / long_min : -Inf
+Inf / int_max : Inf
+Inf / int_min : -Inf
+Inf / uint_max : Inf
+Inf / ulong_max : Inf
+Inf / double_min : Inf
+Inf / double_max : Inf
+Inf / float_min : Inf
+Inf / float_max : Inf
+Inf * zero_min : NaN
+Inf * zero_plus : NaN
+Inf * zero : NaN
+Inf * NaN : NaN
+Inf * Inf_plus : Inf
+Inf * Inf_min : -Inf
+Inf * Inf : Inf
+Inf * long_max : Inf
+Inf * long_min : -Inf
+Inf * int_max : Inf
+Inf * int_min : -Inf
+Inf * uint_max : Inf
+Inf * ulong_max : Inf
+Inf * double_min : Inf
+Inf * double_max : Inf
+Inf * float_min : Inf
+Inf * float_max : Inf
+Inf + zero_min : Inf
+Inf + zero_plus : Inf
+Inf + zero : Inf
+Inf + NaN : NaN
+Inf + Inf_plus : Inf
+Inf + Inf_min : NaN
+Inf + Inf : Inf
+Inf + long_max : Inf
+Inf + long_min : Inf
+Inf + int_max : Inf
+Inf + int_min : Inf
+Inf + uint_max : Inf
+Inf + ulong_max : Inf
+Inf + double_min : Inf
+Inf + double_max : Inf
+Inf + float_min : Inf
+Inf + float_max : Inf
+Inf - zero_min : Inf
+Inf - zero_plus : Inf
+Inf - zero : Inf
+Inf - NaN : NaN
+Inf - Inf_plus : NaN
+Inf - Inf_min : Inf
+Inf - Inf : NaN
+Inf - long_max : Inf
+Inf - long_min : Inf
+Inf - int_max : Inf
+Inf - int_min : Inf
+Inf - uint_max : Inf
+Inf - ulong_max : Inf
+Inf - double_min : Inf
+Inf - double_max : Inf
+Inf - float_min : Inf
+Inf - float_max : Inf
+Inf > zero_min : 0x1
+Inf > zero_plus : 0x1
+Inf > zero : 0x1
+Inf > NaN : 0x0
+Inf > Inf_plus : 0x0
+Inf > Inf_min : 0x1
+Inf > Inf : 0x0
+Inf > long_max : 0x1
+Inf > long_min : 0x1
+Inf > int_max : 0x1
+Inf > int_min : 0x1
+Inf > uint_max : 0x1
+Inf > ulong_max : 0x1
+Inf > double_min : 0x1
+Inf > double_max : 0x1
+Inf > float_min : 0x1
+Inf > float_max : 0x1
+Inf < zero_min : 0x0
+Inf < zero_plus : 0x0
+Inf < zero : 0x0
+Inf < NaN : 0x0
+Inf < Inf_plus : 0x0
+Inf < Inf_min : 0x0
+Inf < Inf : 0x0
+Inf < long_max : 0x0
+Inf < long_min : 0x0
+Inf < int_max : 0x0
+Inf < int_min : 0x0
+Inf < uint_max : 0x0
+Inf < ulong_max : 0x0
+Inf < double_min : 0x0
+Inf < double_max : 0x0
+Inf < float_min : 0x0
+Inf < float_max : 0x0
+Inf >= zero_min : 0x1
+Inf >= zero_plus : 0x1
+Inf >= zero : 0x1
+Inf >= NaN : 0x0
+Inf >= Inf_plus : 0x1
+Inf >= Inf_min : 0x1
+Inf >= Inf : 0x1
+Inf >= long_max : 0x1
+Inf >= long_min : 0x1
+Inf >= int_max : 0x1
+Inf >= int_min : 0x1
+Inf >= uint_max : 0x1
+Inf >= ulong_max : 0x1
+Inf >= double_min : 0x1
+Inf >= double_max : 0x1
+Inf >= float_min : 0x1
+Inf >= float_max : 0x1
+Inf <= zero_min : 0x0
+Inf <= zero_plus : 0x0
+Inf <= zero : 0x0
+Inf <= NaN : 0x0
+Inf <= Inf_plus : 0x1
+Inf <= Inf_min : 0x0
+Inf <= Inf : 0x1
+Inf <= long_max : 0x0
+Inf <= long_min : 0x0
+Inf <= int_max : 0x0
+Inf <= int_min : 0x0
+Inf <= uint_max : 0x0
+Inf <= ulong_max : 0x0
+Inf <= double_min : 0x0
+Inf <= double_max : 0x0
+Inf <= float_min : 0x0
+Inf <= float_max : 0x0
+Inf == zero_min : 0x0
+Inf == zero_plus : 0x0
+Inf == zero : 0x0
+Inf == NaN : 0x0
+Inf == Inf_plus : 0x1
+Inf == Inf_min : 0x0
+Inf == Inf : 0x1
+Inf == long_max : 0x0
+Inf == long_min : 0x0
+Inf == int_max : 0x0
+Inf == int_min : 0x0
+Inf == uint_max : 0x0
+Inf == ulong_max : 0x0
+Inf == double_min : 0x0
+Inf == double_max : 0x0
+Inf == float_min : 0x0
+Inf == float_max : 0x0
+Inf != zero_min : 0x1
+Inf != zero_plus : 0x1
+Inf != zero : 0x1
+Inf != NaN : 0x1
+Inf != Inf_plus : 0x0
+Inf != Inf_min : 0x1
+Inf != Inf : 0x0
+Inf != long_max : 0x1
+Inf != long_min : 0x1
+Inf != int_max : 0x1
+Inf != int_min : 0x1
+Inf != uint_max : 0x1
+Inf != ulong_max : 0x1
+Inf != double_min : 0x1
+Inf != double_max : 0x1
+Inf != float_min : 0x1
+Inf != float_max : 0x1
+Inf * Inf * zero_min : NaN
+Inf * Inf * zero_plus : NaN
+Inf * Inf * zero : NaN
+Inf * Inf * NaN : NaN
+Inf * Inf * Inf_plus : Inf
+Inf * Inf * Inf_min : -Inf
+Inf * Inf * Inf : Inf
+Inf * Inf * long_max : Inf
+Inf * Inf * long_min : -Inf
+Inf * Inf * int_max : Inf
+Inf * Inf * int_min : -Inf
+Inf * Inf * uint_max : Inf
+Inf * Inf * ulong_max : Inf
+Inf * Inf * double_min : Inf
+Inf * Inf * double_max : Inf
+Inf * Inf * float_min : Inf
+Inf * Inf * float_max : Inf
+****************** limits fx_float_long
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x08e+15
+long_min : 0x8e+15
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x1e+16
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+long_max / zero_min : -Inf
+long_max / zero_plus : Inf
+long_max / zero : Inf
+long_max / NaN : NaN
+long_max / Inf_plus : 0x0
+long_max / Inf_min : 0x0
+long_max / Inf : 0x0
+long_max / long_max : 0x1
+long_max / long_min : 0xf
+long_max / int_max : 0x100000002
+long_max / int_min : 0xfe+8
+long_max / uint_max : 0x080000000.8
+long_max / ulong_max : 0x0.8
+long_max / double_min : Inf
+long_max / double_max : 0x.080000000000008e-239
+long_max / float_min : 0x2e+47
+long_max / float_max : 0x.08000008000008e-15
+long_max * zero_min : 0x0
+long_max * zero_plus : 0x0
+long_max * zero : 0x0
+long_max * NaN : NaN
+long_max * Inf_plus : Inf
+long_max * Inf_min : -Inf
+long_max * Inf : Inf
+long_max * long_max : 0x4e+31
+long_max * long_min : 0xce+31
+long_max * int_max : 0x3fffffff8e+15
+long_max * int_min : 0xce+23
+long_max * uint_max : 0x7fffffff8e+15
+long_max * ulong_max : 0x08e+31
+long_max * double_min : 0x.2e-239
+long_max * double_max : Inf
+long_max * float_min : 0x.2e-15
+long_max * float_max : 0x7fffff8e+41
+long_max + zero_min : 0x08e+15
+long_max + zero_plus : 0x08e+15
+long_max + zero : 0x08e+15
+long_max + NaN : NaN
+long_max + Inf_plus : Inf
+long_max + Inf_min : -Inf
+long_max + Inf : Inf
+long_max + long_max : 0x1e+16
+long_max + long_min : 0x0
+long_max + int_max : 0x0800000008e+7
+long_max + int_min : 0x7fffffff8e+7
+long_max + uint_max : 0x080000001e+8
+long_max + ulong_max : 0x18e+15
+long_max + double_min : 0x08e+15
+long_max + double_max : 0x0fffffffffffff8e+242
+long_max + float_min : 0x08e+15
+long_max + float_max : 0x0ffffffe+26
+long_max - zero_min : 0x08e+15
+long_max - zero_plus : 0x08e+15
+long_max - zero : 0x08e+15
+long_max - NaN : NaN
+long_max - Inf_plus : -Inf
+long_max - Inf_min : Inf
+long_max - Inf : -Inf
+long_max - long_max : 0x0
+long_max - long_min : 0x1e+16
+long_max - int_max : 0x7fffffff8e+7
+long_max - int_min : 0x0800000008e+7
+long_max - uint_max : 0x7fffffffe+8
+long_max - ulong_max : 0x8e+15
+long_max - double_min : 0x08e+15
+long_max - double_max : 0xf00000000000008e+242
+long_max - float_min : 0x08e+15
+long_max - float_max : 0xf000001e+26
+long_max > zero_min : 0x1
+long_max > zero_plus : 0x1
+long_max > zero : 0x1
+long_max > NaN : 0x0
+long_max > Inf_plus : 0x0
+long_max > Inf_min : 0x1
+long_max > Inf : 0x0
+long_max > long_max : 0x0
+long_max > long_min : 0x1
+long_max > int_max : 0x1
+long_max > int_min : 0x1
+long_max > uint_max : 0x1
+long_max > ulong_max : 0x0
+long_max > double_min : 0x1
+long_max > double_max : 0x0
+long_max > float_min : 0x1
+long_max > float_max : 0x0
+long_max < zero_min : 0x0
+long_max < zero_plus : 0x0
+long_max < zero : 0x0
+long_max < NaN : 0x0
+long_max < Inf_plus : 0x1
+long_max < Inf_min : 0x0
+long_max < Inf : 0x1
+long_max < long_max : 0x0
+long_max < long_min : 0x0
+long_max < int_max : 0x0
+long_max < int_min : 0x0
+long_max < uint_max : 0x0
+long_max < ulong_max : 0x1
+long_max < double_min : 0x0
+long_max < double_max : 0x1
+long_max < float_min : 0x0
+long_max < float_max : 0x1
+long_max >= zero_min : 0x1
+long_max >= zero_plus : 0x1
+long_max >= zero : 0x1
+long_max >= NaN : 0x0
+long_max >= Inf_plus : 0x0
+long_max >= Inf_min : 0x1
+long_max >= Inf : 0x0
+long_max >= long_max : 0x1
+long_max >= long_min : 0x1
+long_max >= int_max : 0x1
+long_max >= int_min : 0x1
+long_max >= uint_max : 0x1
+long_max >= ulong_max : 0x0
+long_max >= double_min : 0x1
+long_max >= double_max : 0x0
+long_max >= float_min : 0x1
+long_max >= float_max : 0x0
+long_max <= zero_min : 0x0
+long_max <= zero_plus : 0x0
+long_max <= zero : 0x0
+long_max <= NaN : 0x0
+long_max <= Inf_plus : 0x1
+long_max <= Inf_min : 0x0
+long_max <= Inf : 0x1
+long_max <= long_max : 0x1
+long_max <= long_min : 0x0
+long_max <= int_max : 0x0
+long_max <= int_min : 0x0
+long_max <= uint_max : 0x0
+long_max <= ulong_max : 0x1
+long_max <= double_min : 0x0
+long_max <= double_max : 0x1
+long_max <= float_min : 0x0
+long_max <= float_max : 0x1
+long_max == zero_min : 0x0
+long_max == zero_plus : 0x0
+long_max == zero : 0x0
+long_max == NaN : 0x0
+long_max == Inf_plus : 0x0
+long_max == Inf_min : 0x0
+long_max == Inf : 0x0
+long_max == long_max : 0x1
+long_max == long_min : 0x0
+long_max == int_max : 0x0
+long_max == int_min : 0x0
+long_max == uint_max : 0x0
+long_max == ulong_max : 0x0
+long_max == double_min : 0x0
+long_max == double_max : 0x0
+long_max == float_min : 0x0
+long_max == float_max : 0x0
+long_max != zero_min : 0x1
+long_max != zero_plus : 0x1
+long_max != zero : 0x1
+long_max != NaN : 0x1
+long_max != Inf_plus : 0x1
+long_max != Inf_min : 0x1
+long_max != Inf : 0x1
+long_max != long_max : 0x0
+long_max != long_min : 0x1
+long_max != int_max : 0x1
+long_max != int_min : 0x1
+long_max != uint_max : 0x1
+long_max != ulong_max : 0x1
+long_max != double_min : 0x1
+long_max != double_max : 0x1
+long_max != float_min : 0x1
+long_max != float_max : 0x1
+long_max * long_max * zero_min : 0x0
+long_max * long_max * zero_plus : 0x0
+long_max * long_max * zero : 0x0
+long_max * long_max * NaN : NaN
+long_max * long_max * Inf_plus : Inf
+long_max * long_max * Inf_min : -Inf
+long_max * long_max * Inf : Inf
+long_max * long_max * long_max : 0x2e+47
+long_max * long_max * long_min : 0xee+47
+long_max * long_max * int_max : 0x1fffffffce+31
+long_max * long_max * int_min : 0xee+39
+long_max * long_max * uint_max : 0x3fffffffce+31
+long_max * long_max * ulong_max : 0x4e+47
+long_max * long_max * double_min : 0x.1e-223
+long_max * long_max * double_max : Inf
+long_max * long_max * float_min : 0x1
+long_max * long_max * float_max : 0x3fffffce+57
+long_min / zero_min : Inf
+long_min / zero_plus : -Inf
+long_min / zero : -Inf
+long_min / NaN : NaN
+long_min / Inf_plus : 0x0
+long_min / Inf_min : 0x0
+long_min / Inf : 0x0
+long_min / long_max : 0xf
+long_min / long_min : 0x1
+long_min / int_max : 0xefffffffe
+long_min / int_min : 0x1e+8
+long_min / uint_max : 0xf7fffffff.8
+long_min / ulong_max : 0x.8
+long_min / double_min : -Inf
+long_min / double_max : 0x.f7ffffffffffff8e-239
+long_min / float_min : 0xee+47
+long_min / float_max : 0x.f7fffff7fffff8e-15
+long_min * zero_min : 0x0
+long_min * zero_plus : 0x0
+long_min * zero : 0x0
+long_min * NaN : NaN
+long_min * Inf_plus : -Inf
+long_min * Inf_min : Inf
+long_min * Inf : -Inf
+long_min * long_max : 0xce+31
+long_min * long_min : 0x4e+31
+long_min * int_max : 0xc00000008e+15
+long_min * int_min : 0x4e+23
+long_min * uint_max : 0x800000008e+15
+long_min * ulong_max : 0x8e+31
+long_min * double_min : 0x.ee-239
+long_min * double_max : -Inf
+long_min * float_min : 0x.ee-15
+long_min * float_max : 0x8000008e+41
+long_min + zero_min : 0x8e+15
+long_min + zero_plus : 0x8e+15
+long_min + zero : 0x8e+15
+long_min + NaN : NaN
+long_min + Inf_plus : Inf
+long_min + Inf_min : -Inf
+long_min + Inf : Inf
+long_min + long_max : 0x0
+long_min + long_min : 0xfe+16
+long_min + int_max : 0x800000008e+7
+long_min + int_min : 0xf7fffffff8e+7
+long_min + uint_max : 0x80000001e+8
+long_min + ulong_max : 0x08e+15
+long_min + double_min : 0x8e+15
+long_min + double_max : 0x0fffffffffffff8e+242
+long_min + float_min : 0x8e+15
+long_min + float_max : 0x0ffffffe+26
+long_min - zero_min : 0x8e+15
+long_min - zero_plus : 0x8e+15
+long_min - zero : 0x8e+15
+long_min - NaN : NaN
+long_min - Inf_plus : -Inf
+long_min - Inf_min : Inf
+long_min - Inf : -Inf
+long_min - long_max : 0xfe+16
+long_min - long_min : 0x0
+long_min - int_max : 0xf7fffffff8e+7
+long_min - int_min : 0x800000008e+7
+long_min - uint_max : 0xf7fffffffe+8
+long_min - ulong_max : 0xe8e+15
+long_min - double_min : 0x8e+15
+long_min - double_max : 0xf00000000000008e+242
+long_min - float_min : 0x8e+15
+long_min - float_max : 0xf000001e+26
+long_min > zero_min : 0x0
+long_min > zero_plus : 0x0
+long_min > zero : 0x0
+long_min > NaN : 0x0
+long_min > Inf_plus : 0x0
+long_min > Inf_min : 0x1
+long_min > Inf : 0x0
+long_min > long_max : 0x0
+long_min > long_min : 0x0
+long_min > int_max : 0x0
+long_min > int_min : 0x0
+long_min > uint_max : 0x0
+long_min > ulong_max : 0x0
+long_min > double_min : 0x0
+long_min > double_max : 0x0
+long_min > float_min : 0x0
+long_min > float_max : 0x0
+long_min < zero_min : 0x1
+long_min < zero_plus : 0x1
+long_min < zero : 0x1
+long_min < NaN : 0x0
+long_min < Inf_plus : 0x1
+long_min < Inf_min : 0x0
+long_min < Inf : 0x1
+long_min < long_max : 0x1
+long_min < long_min : 0x0
+long_min < int_max : 0x1
+long_min < int_min : 0x1
+long_min < uint_max : 0x1
+long_min < ulong_max : 0x1
+long_min < double_min : 0x1
+long_min < double_max : 0x1
+long_min < float_min : 0x1
+long_min < float_max : 0x1
+long_min >= zero_min : 0x0
+long_min >= zero_plus : 0x0
+long_min >= zero : 0x0
+long_min >= NaN : 0x0
+long_min >= Inf_plus : 0x0
+long_min >= Inf_min : 0x1
+long_min >= Inf : 0x0
+long_min >= long_max : 0x0
+long_min >= long_min : 0x1
+long_min >= int_max : 0x0
+long_min >= int_min : 0x0
+long_min >= uint_max : 0x0
+long_min >= ulong_max : 0x0
+long_min >= double_min : 0x0
+long_min >= double_max : 0x0
+long_min >= float_min : 0x0
+long_min >= float_max : 0x0
+long_min <= zero_min : 0x1
+long_min <= zero_plus : 0x1
+long_min <= zero : 0x1
+long_min <= NaN : 0x0
+long_min <= Inf_plus : 0x1
+long_min <= Inf_min : 0x0
+long_min <= Inf : 0x1
+long_min <= long_max : 0x1
+long_min <= long_min : 0x1
+long_min <= int_max : 0x1
+long_min <= int_min : 0x1
+long_min <= uint_max : 0x1
+long_min <= ulong_max : 0x1
+long_min <= double_min : 0x1
+long_min <= double_max : 0x1
+long_min <= float_min : 0x1
+long_min <= float_max : 0x1
+long_min == zero_min : 0x0
+long_min == zero_plus : 0x0
+long_min == zero : 0x0
+long_min == NaN : 0x0
+long_min == Inf_plus : 0x0
+long_min == Inf_min : 0x0
+long_min == Inf : 0x0
+long_min == long_max : 0x0
+long_min == long_min : 0x1
+long_min == int_max : 0x0
+long_min == int_min : 0x0
+long_min == uint_max : 0x0
+long_min == ulong_max : 0x0
+long_min == double_min : 0x0
+long_min == double_max : 0x0
+long_min == float_min : 0x0
+long_min == float_max : 0x0
+long_min != zero_min : 0x1
+long_min != zero_plus : 0x1
+long_min != zero : 0x1
+long_min != NaN : 0x1
+long_min != Inf_plus : 0x1
+long_min != Inf_min : 0x1
+long_min != Inf : 0x1
+long_min != long_max : 0x1
+long_min != long_min : 0x0
+long_min != int_max : 0x1
+long_min != int_min : 0x1
+long_min != uint_max : 0x1
+long_min != ulong_max : 0x1
+long_min != double_min : 0x1
+long_min != double_max : 0x1
+long_min != float_min : 0x1
+long_min != float_max : 0x1
+long_min * long_min * zero_min : 0x0
+long_min * long_min * zero_plus : 0x0
+long_min * long_min * zero : 0x0
+long_min * long_min * NaN : NaN
+long_min * long_min * Inf_plus : Inf
+long_min * long_min * Inf_min : -Inf
+long_min * long_min * Inf : Inf
+long_min * long_min * long_max : 0x2e+47
+long_min * long_min * long_min : 0xee+47
+long_min * long_min * int_max : 0x1fffffffce+31
+long_min * long_min * int_min : 0xee+39
+long_min * long_min * uint_max : 0x3fffffffce+31
+long_min * long_min * ulong_max : 0x4e+47
+long_min * long_min * double_min : 0x.1e-223
+long_min * long_min * double_max : Inf
+long_min * long_min * float_min : 0x1
+long_min * long_min * float_max : 0x3fffffce+57
+int_max / zero_min : -Inf
+int_max / zero_plus : Inf
+int_max / zero : Inf
+int_max / NaN : NaN
+int_max / Inf_plus : 0x0
+int_max / Inf_min : 0x0
+int_max / Inf : 0x0
+int_max / long_max : 0x.0fffffffee-7
+int_max / long_min : 0x.f00000002e-7
+int_max / int_max : 0x1
+int_max / int_min : 0xf.00000002
+int_max / uint_max : 0x.7fffffff8
+int_max / ulong_max : 0x.7fffffffe-8
+int_max / double_min : Inf
+int_max / double_max : 0x.7fffffff000004e-248
+int_max / float_min : 0x1fffffffce+31
+int_max / float_max : 0x.08000007f00008e-23
+int_max * zero_min : 0x0
+int_max * zero_plus : 0x0
+int_max * zero : 0x0
+int_max * NaN : NaN
+int_max * Inf_plus : Inf
+int_max * Inf_min : -Inf
+int_max * Inf : Inf
+int_max * long_max : 0x3fffffff8e+15
+int_max * long_min : 0xc00000008e+15
+int_max * int_max : 0x3fffffffe+8
+int_max * int_min : 0xc00000008e+7
+int_max * uint_max : 0x7ffffffe8e+7
+int_max * ulong_max : 0x7fffffffe+16
+int_max * double_min : 0x.1fffffffce-247
+int_max * double_max : Inf
+int_max * float_min : 0x.1fffffffce-23
+int_max * float_max : 0x7fffff7fe+32
+int_max + zero_min : 0x7fffffff
+int_max + zero_plus : 0x7fffffff
+int_max + zero : 0x7fffffff
+int_max + NaN : NaN
+int_max + Inf_plus : Inf
+int_max + Inf_min : -Inf
+int_max + Inf : Inf
+int_max + long_max : 0x0800000008e+7
+int_max + long_min : 0x800000008e+7
+int_max + int_max : 0x0fffffffe
+int_max + int_min : 0xf
+int_max + uint_max : 0x17ffffffe
+int_max + ulong_max : 0x1000000008e+7
+int_max + double_min : 0x7fffffff
+int_max + double_max : 0x0fffffffffffff8e+242
+int_max + float_min : 0x7fffffff
+int_max + float_max : 0x0ffffffe+26
+int_max - zero_min : 0x7fffffff
+int_max - zero_plus : 0x7fffffff
+int_max - zero : 0x7fffffff
+int_max - NaN : NaN
+int_max - Inf_plus : -Inf
+int_max - Inf_min : Inf
+int_max - Inf : -Inf
+int_max - long_max : 0x800000008e+7
+int_max - long_min : 0x0800000008e+7
+int_max - int_max : 0x0
+int_max - int_min : 0x0ffffffff
+int_max - uint_max : 0x8e+7
+int_max - ulong_max : 0xf000000008e+7
+int_max - double_min : 0x7fffffff
+int_max - double_max : 0xf00000000000008e+242
+int_max - float_min : 0x7fffffff
+int_max - float_max : 0xf000001e+26
+int_max > zero_min : 0x1
+int_max > zero_plus : 0x1
+int_max > zero : 0x1
+int_max > NaN : 0x0
+int_max > Inf_plus : 0x0
+int_max > Inf_min : 0x1
+int_max > Inf : 0x0
+int_max > long_max : 0x0
+int_max > long_min : 0x1
+int_max > int_max : 0x0
+int_max > int_min : 0x1
+int_max > uint_max : 0x0
+int_max > ulong_max : 0x0
+int_max > double_min : 0x1
+int_max > double_max : 0x0
+int_max > float_min : 0x1
+int_max > float_max : 0x0
+int_max < zero_min : 0x0
+int_max < zero_plus : 0x0
+int_max < zero : 0x0
+int_max < NaN : 0x0
+int_max < Inf_plus : 0x1
+int_max < Inf_min : 0x0
+int_max < Inf : 0x1
+int_max < long_max : 0x1
+int_max < long_min : 0x0
+int_max < int_max : 0x0
+int_max < int_min : 0x0
+int_max < uint_max : 0x1
+int_max < ulong_max : 0x1
+int_max < double_min : 0x0
+int_max < double_max : 0x1
+int_max < float_min : 0x0
+int_max < float_max : 0x1
+int_max >= zero_min : 0x1
+int_max >= zero_plus : 0x1
+int_max >= zero : 0x1
+int_max >= NaN : 0x0
+int_max >= Inf_plus : 0x0
+int_max >= Inf_min : 0x1
+int_max >= Inf : 0x0
+int_max >= long_max : 0x0
+int_max >= long_min : 0x1
+int_max >= int_max : 0x1
+int_max >= int_min : 0x1
+int_max >= uint_max : 0x0
+int_max >= ulong_max : 0x0
+int_max >= double_min : 0x1
+int_max >= double_max : 0x0
+int_max >= float_min : 0x1
+int_max >= float_max : 0x0
+int_max <= zero_min : 0x0
+int_max <= zero_plus : 0x0
+int_max <= zero : 0x0
+int_max <= NaN : 0x0
+int_max <= Inf_plus : 0x1
+int_max <= Inf_min : 0x0
+int_max <= Inf : 0x1
+int_max <= long_max : 0x1
+int_max <= long_min : 0x0
+int_max <= int_max : 0x1
+int_max <= int_min : 0x0
+int_max <= uint_max : 0x1
+int_max <= ulong_max : 0x1
+int_max <= double_min : 0x0
+int_max <= double_max : 0x1
+int_max <= float_min : 0x0
+int_max <= float_max : 0x1
+int_max == zero_min : 0x0
+int_max == zero_plus : 0x0
+int_max == zero : 0x0
+int_max == NaN : 0x0
+int_max == Inf_plus : 0x0
+int_max == Inf_min : 0x0
+int_max == Inf : 0x0
+int_max == long_max : 0x0
+int_max == long_min : 0x0
+int_max == int_max : 0x1
+int_max == int_min : 0x0
+int_max == uint_max : 0x0
+int_max == ulong_max : 0x0
+int_max == double_min : 0x0
+int_max == double_max : 0x0
+int_max == float_min : 0x0
+int_max == float_max : 0x0
+int_max != zero_min : 0x1
+int_max != zero_plus : 0x1
+int_max != zero : 0x1
+int_max != NaN : 0x1
+int_max != Inf_plus : 0x1
+int_max != Inf_min : 0x1
+int_max != Inf : 0x1
+int_max != long_max : 0x1
+int_max != long_min : 0x1
+int_max != int_max : 0x0
+int_max != int_min : 0x1
+int_max != uint_max : 0x1
+int_max != ulong_max : 0x1
+int_max != double_min : 0x1
+int_max != double_max : 0x1
+int_max != float_min : 0x1
+int_max != float_max : 0x1
+int_max * int_max * zero_min : 0x0
+int_max * int_max * zero_plus : 0x0
+int_max * int_max * zero : 0x0
+int_max * int_max * NaN : NaN
+int_max * int_max * Inf_plus : Inf
+int_max * int_max * Inf_min : -Inf
+int_max * int_max * Inf : Inf
+int_max * int_max * long_max : 0x1fffffff8e+23
+int_max * int_max * long_min : 0xe00000008e+23
+int_max * int_max * int_max : 0x1fffffff4e+15
+int_max * int_max * int_min : 0xe00000008e+15
+int_max * int_max * uint_max : 0x3ffffffece+15
+int_max * int_max * ulong_max : 0x3fffffffe+24
+int_max * int_max * double_min : 0x.0fffffffce-239
+int_max * int_max * double_max : Inf
+int_max * int_max * float_min : 0x.0fffffffce-15
+int_max * int_max * float_max : 0x3fffffbfe+40
+int_min / zero_min : Inf
+int_min / zero_plus : -Inf
+int_min / zero : -Inf
+int_min / NaN : NaN
+int_min / Inf_plus : 0x0
+int_min / Inf_min : 0x0
+int_min / Inf : 0x0
+int_min / long_max : 0x.fe-7
+int_min / long_min : 0x.1e-7
+int_min / int_max : 0xe.fffffffe
+int_min / int_min : 0x1
+int_min / uint_max : 0xf.7fffffff8
+int_min / ulong_max : 0x.8e-8
+int_min / double_min : -Inf
+int_min / double_max : 0x.f7ffffffffffff8e-247
+int_min / float_min : 0xee+39
+int_min / float_max : 0x.f7fffff7fffff8e-23
+int_min * zero_min : 0x0
+int_min * zero_plus : 0x0
+int_min * zero : 0x0
+int_min * NaN : NaN
+int_min * Inf_plus : -Inf
+int_min * Inf_min : Inf
+int_min * Inf : -Inf
+int_min * long_max : 0xce+23
+int_min * long_min : 0x4e+23
+int_min * int_max : 0xc00000008e+7
+int_min * int_min : 0x4e+15
+int_min * uint_max : 0x800000008e+7
+int_min * ulong_max : 0x8e+23
+int_min * double_min : 0x.ee-247
+int_min * double_max : -Inf
+int_min * float_min : 0x.ee-23
+int_min * float_max : 0x8000008e+33
+int_min + zero_min : 0x8e+7
+int_min + zero_plus : 0x8e+7
+int_min + zero : 0x8e+7
+int_min + NaN : NaN
+int_min + Inf_plus : Inf
+int_min + Inf_min : -Inf
+int_min + Inf : Inf
+int_min + long_max : 0x7fffffff8e+7
+int_min + long_min : 0xf7fffffff8e+7
+int_min + int_max : 0xf
+int_min + int_min : 0xfe+8
+int_min + uint_max : 0x7fffffff
+int_min + ulong_max : 0x0ffffffff8e+7
+int_min + double_min : 0x8e+7
+int_min + double_max : 0x0fffffffffffff8e+242
+int_min + float_min : 0x8e+7
+int_min + float_max : 0x0ffffffe+26
+int_min - zero_min : 0x8e+7
+int_min - zero_plus : 0x8e+7
+int_min - zero : 0x8e+7
+int_min - NaN : NaN
+int_min - Inf_plus : -Inf
+int_min - Inf_min : Inf
+int_min - Inf : -Inf
+int_min - long_max : 0xf7fffffff8e+7
+int_min - long_min : 0x7fffffff8e+7
+int_min - int_max : 0xf00000001
+int_min - int_min : 0x0
+int_min - uint_max : 0xe80000001
+int_min - ulong_max : 0xeffffffff8e+7
+int_min - double_min : 0x8e+7
+int_min - double_max : 0xf00000000000008e+242
+int_min - float_min : 0x8e+7
+int_min - float_max : 0xf000001e+26
+int_min > zero_min : 0x0
+int_min > zero_plus : 0x0
+int_min > zero : 0x0
+int_min > NaN : 0x0
+int_min > Inf_plus : 0x0
+int_min > Inf_min : 0x1
+int_min > Inf : 0x0
+int_min > long_max : 0x0
+int_min > long_min : 0x1
+int_min > int_max : 0x0
+int_min > int_min : 0x0
+int_min > uint_max : 0x0
+int_min > ulong_max : 0x0
+int_min > double_min : 0x0
+int_min > double_max : 0x0
+int_min > float_min : 0x0
+int_min > float_max : 0x0
+int_min < zero_min : 0x1
+int_min < zero_plus : 0x1
+int_min < zero : 0x1
+int_min < NaN : 0x0
+int_min < Inf_plus : 0x1
+int_min < Inf_min : 0x0
+int_min < Inf : 0x1
+int_min < long_max : 0x1
+int_min < long_min : 0x0
+int_min < int_max : 0x1
+int_min < int_min : 0x0
+int_min < uint_max : 0x1
+int_min < ulong_max : 0x1
+int_min < double_min : 0x1
+int_min < double_max : 0x1
+int_min < float_min : 0x1
+int_min < float_max : 0x1
+int_min >= zero_min : 0x0
+int_min >= zero_plus : 0x0
+int_min >= zero : 0x0
+int_min >= NaN : 0x0
+int_min >= Inf_plus : 0x0
+int_min >= Inf_min : 0x1
+int_min >= Inf : 0x0
+int_min >= long_max : 0x0
+int_min >= long_min : 0x1
+int_min >= int_max : 0x0
+int_min >= int_min : 0x1
+int_min >= uint_max : 0x0
+int_min >= ulong_max : 0x0
+int_min >= double_min : 0x0
+int_min >= double_max : 0x0
+int_min >= float_min : 0x0
+int_min >= float_max : 0x0
+int_min <= zero_min : 0x1
+int_min <= zero_plus : 0x1
+int_min <= zero : 0x1
+int_min <= NaN : 0x0
+int_min <= Inf_plus : 0x1
+int_min <= Inf_min : 0x0
+int_min <= Inf : 0x1
+int_min <= long_max : 0x1
+int_min <= long_min : 0x0
+int_min <= int_max : 0x1
+int_min <= int_min : 0x1
+int_min <= uint_max : 0x1
+int_min <= ulong_max : 0x1
+int_min <= double_min : 0x1
+int_min <= double_max : 0x1
+int_min <= float_min : 0x1
+int_min <= float_max : 0x1
+int_min == zero_min : 0x0
+int_min == zero_plus : 0x0
+int_min == zero : 0x0
+int_min == NaN : 0x0
+int_min == Inf_plus : 0x0
+int_min == Inf_min : 0x0
+int_min == Inf : 0x0
+int_min == long_max : 0x0
+int_min == long_min : 0x0
+int_min == int_max : 0x0
+int_min == int_min : 0x1
+int_min == uint_max : 0x0
+int_min == ulong_max : 0x0
+int_min == double_min : 0x0
+int_min == double_max : 0x0
+int_min == float_min : 0x0
+int_min == float_max : 0x0
+int_min != zero_min : 0x1
+int_min != zero_plus : 0x1
+int_min != zero : 0x1
+int_min != NaN : 0x1
+int_min != Inf_plus : 0x1
+int_min != Inf_min : 0x1
+int_min != Inf : 0x1
+int_min != long_max : 0x1
+int_min != long_min : 0x1
+int_min != int_max : 0x1
+int_min != int_min : 0x0
+int_min != uint_max : 0x1
+int_min != ulong_max : 0x1
+int_min != double_min : 0x1
+int_min != double_max : 0x1
+int_min != float_min : 0x1
+int_min != float_max : 0x1
+int_min * int_min * zero_min : 0x0
+int_min * int_min * zero_plus : 0x0
+int_min * int_min * zero : 0x0
+int_min * int_min * NaN : NaN
+int_min * int_min * Inf_plus : Inf
+int_min * int_min * Inf_min : -Inf
+int_min * int_min * Inf : Inf
+int_min * int_min * long_max : 0x2e+31
+int_min * int_min * long_min : 0xee+31
+int_min * int_min * int_max : 0x1fffffffce+15
+int_min * int_min * int_min : 0xee+23
+int_min * int_min * uint_max : 0x3fffffffce+15
+int_min * int_min * ulong_max : 0x4e+31
+int_min * int_min * double_min : 0x.1e-239
+int_min * int_min * double_max : Inf
+int_min * int_min * float_min : 0x.1e-15
+int_min * int_min * float_max : 0x3fffffce+41
+uint_max / zero_min : -Inf
+uint_max / zero_plus : Inf
+uint_max / zero : Inf
+uint_max / NaN : NaN
+uint_max / Inf_plus : 0x0
+uint_max / Inf_min : 0x0
+uint_max / Inf : 0x0
+uint_max / long_max : 0x.1fffffffee-7
+uint_max / long_min : 0x.e00000002e-7
+uint_max / int_max : 0x2.00000002
+uint_max / int_min : 0xe.00000002
+uint_max / uint_max : 0x1
+uint_max / ulong_max : 0x.0ffffffffe-7
+uint_max / double_min : Inf
+uint_max / double_max : 0x.0ffffffff000008e-247
+uint_max / float_min : 0x3fffffffce+31
+uint_max / float_max : 0x.1000000ff0001e-23
+uint_max * zero_min : 0x0
+uint_max * zero_plus : 0x0
+uint_max * zero : 0x0
+uint_max * NaN : NaN
+uint_max * Inf_plus : Inf
+uint_max * Inf_min : -Inf
+uint_max * Inf : Inf
+uint_max * long_max : 0x7fffffff8e+15
+uint_max * long_min : 0x800000008e+15
+uint_max * int_max : 0x7ffffffe8e+7
+uint_max * int_min : 0x800000008e+7
+uint_max * uint_max : 0x0fffffffee+8
+uint_max * ulong_max : 0x0ffffffffe+16
+uint_max * double_min : 0x.3fffffffce-247
+uint_max * double_max : Inf
+uint_max * float_min : 0x.3fffffffce-23
+uint_max * float_max : 0x0fffffeffe+32
+uint_max + zero_min : 0x0ffffffff
+uint_max + zero_plus : 0x0ffffffff
+uint_max + zero : 0x0ffffffff
+uint_max + NaN : NaN
+uint_max + Inf_plus : Inf
+uint_max + Inf_min : -Inf
+uint_max + Inf : Inf
+uint_max + long_max : 0x080000001e+8
+uint_max + long_min : 0x80000001e+8
+uint_max + int_max : 0x17ffffffe
+uint_max + int_min : 0x7fffffff
+uint_max + uint_max : 0x1fffffffe
+uint_max + ulong_max : 0x100000001e+8
+uint_max + double_min : 0x0ffffffff
+uint_max + double_max : 0x0fffffffffffff8e+242
+uint_max + float_min : 0x0ffffffff
+uint_max + float_max : 0x0ffffffe+26
+uint_max - zero_min : 0x0ffffffff
+uint_max - zero_plus : 0x0ffffffff
+uint_max - zero : 0x0ffffffff
+uint_max - NaN : NaN
+uint_max - Inf_plus : -Inf
+uint_max - Inf_min : Inf
+uint_max - Inf : -Inf
+uint_max - long_max : 0x80000001e+8
+uint_max - long_min : 0x080000001e+8
+uint_max - int_max : 0x08e+7
+uint_max - int_min : 0x17fffffff
+uint_max - uint_max : 0x0
+uint_max - ulong_max : 0xf00000001e+8
+uint_max - double_min : 0x0ffffffff
+uint_max - double_max : 0xf00000000000008e+242
+uint_max - float_min : 0x0ffffffff
+uint_max - float_max : 0xf000001e+26
+uint_max > zero_min : 0x1
+uint_max > zero_plus : 0x1
+uint_max > zero : 0x1
+uint_max > NaN : 0x0
+uint_max > Inf_plus : 0x0
+uint_max > Inf_min : 0x1
+uint_max > Inf : 0x0
+uint_max > long_max : 0x0
+uint_max > long_min : 0x1
+uint_max > int_max : 0x1
+uint_max > int_min : 0x1
+uint_max > uint_max : 0x0
+uint_max > ulong_max : 0x0
+uint_max > double_min : 0x1
+uint_max > double_max : 0x0
+uint_max > float_min : 0x1
+uint_max > float_max : 0x0
+uint_max < zero_min : 0x0
+uint_max < zero_plus : 0x0
+uint_max < zero : 0x0
+uint_max < NaN : 0x0
+uint_max < Inf_plus : 0x1
+uint_max < Inf_min : 0x0
+uint_max < Inf : 0x1
+uint_max < long_max : 0x1
+uint_max < long_min : 0x0
+uint_max < int_max : 0x0
+uint_max < int_min : 0x0
+uint_max < uint_max : 0x0
+uint_max < ulong_max : 0x1
+uint_max < double_min : 0x0
+uint_max < double_max : 0x1
+uint_max < float_min : 0x0
+uint_max < float_max : 0x1
+uint_max >= zero_min : 0x1
+uint_max >= zero_plus : 0x1
+uint_max >= zero : 0x1
+uint_max >= NaN : 0x0
+uint_max >= Inf_plus : 0x0
+uint_max >= Inf_min : 0x1
+uint_max >= Inf : 0x0
+uint_max >= long_max : 0x0
+uint_max >= long_min : 0x1
+uint_max >= int_max : 0x1
+uint_max >= int_min : 0x1
+uint_max >= uint_max : 0x1
+uint_max >= ulong_max : 0x0
+uint_max >= double_min : 0x1
+uint_max >= double_max : 0x0
+uint_max >= float_min : 0x1
+uint_max >= float_max : 0x0
+uint_max <= zero_min : 0x0
+uint_max <= zero_plus : 0x0
+uint_max <= zero : 0x0
+uint_max <= NaN : 0x0
+uint_max <= Inf_plus : 0x1
+uint_max <= Inf_min : 0x0
+uint_max <= Inf : 0x1
+uint_max <= long_max : 0x1
+uint_max <= long_min : 0x0
+uint_max <= int_max : 0x0
+uint_max <= int_min : 0x0
+uint_max <= uint_max : 0x1
+uint_max <= ulong_max : 0x1
+uint_max <= double_min : 0x0
+uint_max <= double_max : 0x1
+uint_max <= float_min : 0x0
+uint_max <= float_max : 0x1
+uint_max == zero_min : 0x0
+uint_max == zero_plus : 0x0
+uint_max == zero : 0x0
+uint_max == NaN : 0x0
+uint_max == Inf_plus : 0x0
+uint_max == Inf_min : 0x0
+uint_max == Inf : 0x0
+uint_max == long_max : 0x0
+uint_max == long_min : 0x0
+uint_max == int_max : 0x0
+uint_max == int_min : 0x0
+uint_max == uint_max : 0x1
+uint_max == ulong_max : 0x0
+uint_max == double_min : 0x0
+uint_max == double_max : 0x0
+uint_max == float_min : 0x0
+uint_max == float_max : 0x0
+uint_max != zero_min : 0x1
+uint_max != zero_plus : 0x1
+uint_max != zero : 0x1
+uint_max != NaN : 0x1
+uint_max != Inf_plus : 0x1
+uint_max != Inf_min : 0x1
+uint_max != Inf : 0x1
+uint_max != long_max : 0x1
+uint_max != long_min : 0x1
+uint_max != int_max : 0x1
+uint_max != int_min : 0x1
+uint_max != uint_max : 0x0
+uint_max != ulong_max : 0x1
+uint_max != double_min : 0x1
+uint_max != double_max : 0x1
+uint_max != float_min : 0x1
+uint_max != float_max : 0x1
+uint_max * uint_max * zero_min : 0x0
+uint_max * uint_max * zero_plus : 0x0
+uint_max * uint_max * zero : 0x0
+uint_max * uint_max * NaN : NaN
+uint_max * uint_max * Inf_plus : Inf
+uint_max * uint_max * Inf_min : -Inf
+uint_max * uint_max * Inf : Inf
+uint_max * uint_max * long_max : 0x7fffffffe+24
+uint_max * uint_max * long_min : 0x80000001e+24
+uint_max * uint_max * int_max : 0x7ffffffee+16
+uint_max * uint_max * int_min : 0x80000001e+16
+uint_max * uint_max * uint_max : 0x0fffffffde+16
+uint_max * uint_max * ulong_max : 0x0fffffffee+24
+uint_max * uint_max * double_min : 0x.3fffffff8e-239
+uint_max * uint_max * double_max : Inf
+uint_max * uint_max * float_min : 0x.3fffffff8e-15
+uint_max * uint_max * float_max : 0x0fffffefee+40
+ulong_max / zero_min : -Inf
+ulong_max / zero_plus : Inf
+ulong_max / zero : Inf
+ulong_max / NaN : NaN
+ulong_max / Inf_plus : 0x0
+ulong_max / Inf_min : 0x0
+ulong_max / Inf : 0x0
+ulong_max / long_max : 0x2
+ulong_max / long_min : 0xe
+ulong_max / int_max : 0x200000004
+ulong_max / int_min : 0xee+8
+ulong_max / uint_max : 0x100000001
+ulong_max / ulong_max : 0x1
+ulong_max / double_min : Inf
+ulong_max / double_max : 0x.10000000000001e-239
+ulong_max / float_min : 0x4e+47
+ulong_max / float_max : 0x.1000001000001e-15
+ulong_max * zero_min : 0x0
+ulong_max * zero_plus : 0x0
+ulong_max * zero : 0x0
+ulong_max * NaN : NaN
+ulong_max * Inf_plus : Inf
+ulong_max * Inf_min : -Inf
+ulong_max * Inf : Inf
+ulong_max * long_max : 0x08e+31
+ulong_max * long_min : 0x8e+31
+ulong_max * int_max : 0x7fffffffe+16
+ulong_max * int_min : 0x8e+23
+ulong_max * uint_max : 0x0ffffffffe+16
+ulong_max * ulong_max : 0x1e+32
+ulong_max * double_min : 0x.4e-239
+ulong_max * double_max : Inf
+ulong_max * float_min : 0x.4e-15
+ulong_max * float_max : 0x0ffffffe+42
+ulong_max + zero_min : 0x1e+16
+ulong_max + zero_plus : 0x1e+16
+ulong_max + zero : 0x1e+16
+ulong_max + NaN : NaN
+ulong_max + Inf_plus : Inf
+ulong_max + Inf_min : -Inf
+ulong_max + Inf : Inf
+ulong_max + long_max : 0x18e+15
+ulong_max + long_min : 0x08e+15
+ulong_max + int_max : 0x1000000008e+7
+ulong_max + int_min : 0x0ffffffff8e+7
+ulong_max + uint_max : 0x100000001e+8
+ulong_max + ulong_max : 0x2e+16
+ulong_max + double_min : 0x1e+16
+ulong_max + double_max : 0x0fffffffffffff8e+242
+ulong_max + float_min : 0x1e+16
+ulong_max + float_max : 0x0ffffffe+26
+ulong_max - zero_min : 0x1e+16
+ulong_max - zero_plus : 0x1e+16
+ulong_max - zero : 0x1e+16
+ulong_max - NaN : NaN
+ulong_max - Inf_plus : -Inf
+ulong_max - Inf_min : Inf
+ulong_max - Inf : -Inf
+ulong_max - long_max : 0x08e+15
+ulong_max - long_min : 0x18e+15
+ulong_max - int_max : 0x0ffffffff8e+7
+ulong_max - int_min : 0x1000000008e+7
+ulong_max - uint_max : 0x0ffffffffe+8
+ulong_max - ulong_max : 0x0
+ulong_max - double_min : 0x1e+16
+ulong_max - double_max : 0xf00000000000008e+242
+ulong_max - float_min : 0x1e+16
+ulong_max - float_max : 0xf000001e+26
+ulong_max > zero_min : 0x1
+ulong_max > zero_plus : 0x1
+ulong_max > zero : 0x1
+ulong_max > NaN : 0x0
+ulong_max > Inf_plus : 0x0
+ulong_max > Inf_min : 0x1
+ulong_max > Inf : 0x0
+ulong_max > long_max : 0x1
+ulong_max > long_min : 0x1
+ulong_max > int_max : 0x1
+ulong_max > int_min : 0x1
+ulong_max > uint_max : 0x1
+ulong_max > ulong_max : 0x0
+ulong_max > double_min : 0x1
+ulong_max > double_max : 0x0
+ulong_max > float_min : 0x1
+ulong_max > float_max : 0x0
+ulong_max < zero_min : 0x0
+ulong_max < zero_plus : 0x0
+ulong_max < zero : 0x0
+ulong_max < NaN : 0x0
+ulong_max < Inf_plus : 0x1
+ulong_max < Inf_min : 0x0
+ulong_max < Inf : 0x1
+ulong_max < long_max : 0x0
+ulong_max < long_min : 0x0
+ulong_max < int_max : 0x0
+ulong_max < int_min : 0x0
+ulong_max < uint_max : 0x0
+ulong_max < ulong_max : 0x0
+ulong_max < double_min : 0x0
+ulong_max < double_max : 0x1
+ulong_max < float_min : 0x0
+ulong_max < float_max : 0x1
+ulong_max >= zero_min : 0x1
+ulong_max >= zero_plus : 0x1
+ulong_max >= zero : 0x1
+ulong_max >= NaN : 0x0
+ulong_max >= Inf_plus : 0x0
+ulong_max >= Inf_min : 0x1
+ulong_max >= Inf : 0x0
+ulong_max >= long_max : 0x1
+ulong_max >= long_min : 0x1
+ulong_max >= int_max : 0x1
+ulong_max >= int_min : 0x1
+ulong_max >= uint_max : 0x1
+ulong_max >= ulong_max : 0x1
+ulong_max >= double_min : 0x1
+ulong_max >= double_max : 0x0
+ulong_max >= float_min : 0x1
+ulong_max >= float_max : 0x0
+ulong_max <= zero_min : 0x0
+ulong_max <= zero_plus : 0x0
+ulong_max <= zero : 0x0
+ulong_max <= NaN : 0x0
+ulong_max <= Inf_plus : 0x1
+ulong_max <= Inf_min : 0x0
+ulong_max <= Inf : 0x1
+ulong_max <= long_max : 0x0
+ulong_max <= long_min : 0x0
+ulong_max <= int_max : 0x0
+ulong_max <= int_min : 0x0
+ulong_max <= uint_max : 0x0
+ulong_max <= ulong_max : 0x1
+ulong_max <= double_min : 0x0
+ulong_max <= double_max : 0x1
+ulong_max <= float_min : 0x0
+ulong_max <= float_max : 0x1
+ulong_max == zero_min : 0x0
+ulong_max == zero_plus : 0x0
+ulong_max == zero : 0x0
+ulong_max == NaN : 0x0
+ulong_max == Inf_plus : 0x0
+ulong_max == Inf_min : 0x0
+ulong_max == Inf : 0x0
+ulong_max == long_max : 0x0
+ulong_max == long_min : 0x0
+ulong_max == int_max : 0x0
+ulong_max == int_min : 0x0
+ulong_max == uint_max : 0x0
+ulong_max == ulong_max : 0x1
+ulong_max == double_min : 0x0
+ulong_max == double_max : 0x0
+ulong_max == float_min : 0x0
+ulong_max == float_max : 0x0
+ulong_max != zero_min : 0x1
+ulong_max != zero_plus : 0x1
+ulong_max != zero : 0x1
+ulong_max != NaN : 0x1
+ulong_max != Inf_plus : 0x1
+ulong_max != Inf_min : 0x1
+ulong_max != Inf : 0x1
+ulong_max != long_max : 0x1
+ulong_max != long_min : 0x1
+ulong_max != int_max : 0x1
+ulong_max != int_min : 0x1
+ulong_max != uint_max : 0x1
+ulong_max != ulong_max : 0x0
+ulong_max != double_min : 0x1
+ulong_max != double_max : 0x1
+ulong_max != float_min : 0x1
+ulong_max != float_max : 0x1
+ulong_max * ulong_max * zero_min : 0x0
+ulong_max * ulong_max * zero_plus : 0x0
+ulong_max * ulong_max * zero : 0x0
+ulong_max * ulong_max * NaN : NaN
+ulong_max * ulong_max * Inf_plus : Inf
+ulong_max * ulong_max * Inf_min : -Inf
+ulong_max * ulong_max * Inf : Inf
+ulong_max * ulong_max * long_max : 0x08e+47
+ulong_max * ulong_max * long_min : 0x8e+47
+ulong_max * ulong_max * int_max : 0x7fffffffe+32
+ulong_max * ulong_max * int_min : 0x8e+39
+ulong_max * ulong_max * uint_max : 0x0ffffffffe+32
+ulong_max * ulong_max * ulong_max : 0x1e+48
+ulong_max * ulong_max * double_min : 0x.4e-223
+ulong_max * ulong_max * double_max : Inf
+ulong_max * ulong_max * float_min : 0x4
+ulong_max * ulong_max * float_max : 0x0ffffffe+58
+****************** limits fx_float_double
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x08e+15
+long_min : 0x8e+15
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x1e+16
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+double_min / zero_min : -Inf
+double_min / zero_plus : Inf
+double_min / zero : Inf
+double_min / NaN : NaN
+double_min / Inf_plus : 0x0
+double_min / Inf_min : 0x0
+double_min / Inf : 0x0
+double_min / long_max : 0x0
+double_min / long_min : 0x0
+double_min / int_max : 0x.4e-263
+double_min / int_min : 0x.ce-263
+double_min / uint_max : 0x.2e-263
+double_min / ulong_max : 0x0
+double_min / double_min : 0x1
+double_min / double_max : 0x0
+double_min / float_min : 0x.1e-223
+double_min / float_max : 0x0
+double_min * zero_min : 0x0
+double_min * zero_plus : 0x0
+double_min * zero : 0x0
+double_min * NaN : NaN
+double_min * Inf_plus : Inf
+double_min * Inf_min : -Inf
+double_min * Inf : Inf
+double_min * long_max : 0x.2e-239
+double_min * long_min : 0x.ee-239
+double_min * int_max : 0x.1fffffffce-247
+double_min * int_min : 0x.ee-247
+double_min * uint_max : 0x.3fffffffce-247
+double_min * ulong_max : 0x.4e-239
+double_min * double_min : 0x0
+double_min * double_max : 0x3.ffffffffffffe
+double_min * float_min : 0x0
+double_min * float_max : 0x.3fffffce-223
+double_min + zero_min : 0x.4e-255
+double_min + zero_plus : 0x.4e-255
+double_min + zero : 0x.4e-255
+double_min + NaN : NaN
+double_min + Inf_plus : Inf
+double_min + Inf_min : -Inf
+double_min + Inf : Inf
+double_min + long_max : 0x08e+15
+double_min + long_min : 0x8e+15
+double_min + int_max : 0x7fffffff
+double_min + int_min : 0x8e+7
+double_min + uint_max : 0x0ffffffff
+double_min + ulong_max : 0x1e+16
+double_min + double_min : 0x.08e-254
+double_min + double_max : 0x0fffffffffffff8e+242
+double_min + float_min : 0x.4e-31
+double_min + float_max : 0x0ffffffe+26
+double_min - zero_min : 0x.4e-255
+double_min - zero_plus : 0x.4e-255
+double_min - zero : 0x.4e-255
+double_min - NaN : NaN
+double_min - Inf_plus : -Inf
+double_min - Inf_min : Inf
+double_min - Inf : -Inf
+double_min - long_max : 0x8e+15
+double_min - long_min : 0x08e+15
+double_min - int_max : 0x80000001
+double_min - int_min : 0x08e+7
+double_min - uint_max : 0xf00000001
+double_min - ulong_max : 0xfe+16
+double_min - double_min : 0x0
+double_min - double_max : 0xf00000000000008e+242
+double_min - float_min : 0x.ce-31
+double_min - float_max : 0xf000001e+26
+double_min > zero_min : 0x1
+double_min > zero_plus : 0x1
+double_min > zero : 0x1
+double_min > NaN : 0x0
+double_min > Inf_plus : 0x0
+double_min > Inf_min : 0x1
+double_min > Inf : 0x0
+double_min > long_max : 0x0
+double_min > long_min : 0x1
+double_min > int_max : 0x0
+double_min > int_min : 0x1
+double_min > uint_max : 0x0
+double_min > ulong_max : 0x0
+double_min > double_min : 0x0
+double_min > double_max : 0x0
+double_min > float_min : 0x0
+double_min > float_max : 0x0
+double_min < zero_min : 0x0
+double_min < zero_plus : 0x0
+double_min < zero : 0x0
+double_min < NaN : 0x0
+double_min < Inf_plus : 0x1
+double_min < Inf_min : 0x0
+double_min < Inf : 0x1
+double_min < long_max : 0x1
+double_min < long_min : 0x0
+double_min < int_max : 0x1
+double_min < int_min : 0x0
+double_min < uint_max : 0x1
+double_min < ulong_max : 0x1
+double_min < double_min : 0x0
+double_min < double_max : 0x1
+double_min < float_min : 0x1
+double_min < float_max : 0x1
+double_min >= zero_min : 0x1
+double_min >= zero_plus : 0x1
+double_min >= zero : 0x1
+double_min >= NaN : 0x0
+double_min >= Inf_plus : 0x0
+double_min >= Inf_min : 0x1
+double_min >= Inf : 0x0
+double_min >= long_max : 0x0
+double_min >= long_min : 0x1
+double_min >= int_max : 0x0
+double_min >= int_min : 0x1
+double_min >= uint_max : 0x0
+double_min >= ulong_max : 0x0
+double_min >= double_min : 0x1
+double_min >= double_max : 0x0
+double_min >= float_min : 0x0
+double_min >= float_max : 0x0
+double_min <= zero_min : 0x0
+double_min <= zero_plus : 0x0
+double_min <= zero : 0x0
+double_min <= NaN : 0x0
+double_min <= Inf_plus : 0x1
+double_min <= Inf_min : 0x0
+double_min <= Inf : 0x1
+double_min <= long_max : 0x1
+double_min <= long_min : 0x0
+double_min <= int_max : 0x1
+double_min <= int_min : 0x0
+double_min <= uint_max : 0x1
+double_min <= ulong_max : 0x1
+double_min <= double_min : 0x1
+double_min <= double_max : 0x1
+double_min <= float_min : 0x1
+double_min <= float_max : 0x1
+double_min == zero_min : 0x0
+double_min == zero_plus : 0x0
+double_min == zero : 0x0
+double_min == NaN : 0x0
+double_min == Inf_plus : 0x0
+double_min == Inf_min : 0x0
+double_min == Inf : 0x0
+double_min == long_max : 0x0
+double_min == long_min : 0x0
+double_min == int_max : 0x0
+double_min == int_min : 0x0
+double_min == uint_max : 0x0
+double_min == ulong_max : 0x0
+double_min == double_min : 0x1
+double_min == double_max : 0x0
+double_min == float_min : 0x0
+double_min == float_max : 0x0
+double_min != zero_min : 0x1
+double_min != zero_plus : 0x1
+double_min != zero : 0x1
+double_min != NaN : 0x1
+double_min != Inf_plus : 0x1
+double_min != Inf_min : 0x1
+double_min != Inf : 0x1
+double_min != long_max : 0x1
+double_min != long_min : 0x1
+double_min != int_max : 0x1
+double_min != int_min : 0x1
+double_min != uint_max : 0x1
+double_min != ulong_max : 0x1
+double_min != double_min : 0x0
+double_min != double_max : 0x1
+double_min != float_min : 0x1
+double_min != float_max : 0x1
+double_min * double_min * zero_min : 0x0
+double_min * double_min * zero_plus : 0x0
+double_min * double_min * zero : 0x0
+double_min * double_min * NaN : NaN
+double_min * double_min * Inf_plus : NaN
+double_min * double_min * Inf_min : NaN
+double_min * double_min * Inf : NaN
+double_min * double_min * long_max : 0x0
+double_min * double_min * long_min : 0x0
+double_min * double_min * int_max : 0x0
+double_min * double_min * int_min : 0x0
+double_min * double_min * uint_max : 0x0
+double_min * double_min * ulong_max : 0x0
+double_min * double_min * double_min : 0x0
+double_min * double_min * double_max : 0x0
+double_min * double_min * float_min : 0x0
+double_min * double_min * float_max : 0x0
+double_max / zero_min : -Inf
+double_max / zero_plus : Inf
+double_max / zero : Inf
+double_max / NaN : NaN
+double_max / Inf_plus : 0x0
+double_max / Inf_min : 0x0
+double_max / Inf : 0x0
+double_max / long_max : 0x1fffffffffffffe+227
+double_max / long_min : 0xe0000000000001e+227
+double_max / int_max : 0x200000004e+240
+double_max / int_min : 0xe0000000000001e+235
+double_max / uint_max : 0x100000001e+240
+double_max / ulong_max : 0x0fffffffffffff8e+226
+double_max / double_min : Inf
+double_max / double_max : 0x1
+double_max / float_min : Inf
+double_max / float_max : 0x1000001000001e+212
+double_max * zero_min : 0x0
+double_max * zero_plus : 0x0
+double_max * zero : 0x0
+double_max * NaN : NaN
+double_max * Inf_plus : Inf
+double_max * Inf_min : -Inf
+double_max * Inf : Inf
+double_max * long_max : Inf
+double_max * long_min : -Inf
+double_max * int_max : Inf
+double_max * int_min : -Inf
+double_max * uint_max : Inf
+double_max * ulong_max : Inf
+double_max * double_min : 0x3.ffffffffffffe
+double_max * double_max : Inf
+double_max * float_min : 0x3ffffffffffffee+211
+double_max * float_max : Inf
+double_max + zero_min : 0x0fffffffffffff8e+242
+double_max + zero_plus : 0x0fffffffffffff8e+242
+double_max + zero : 0x0fffffffffffff8e+242
+double_max + NaN : NaN
+double_max + Inf_plus : Inf
+double_max + Inf_min : -Inf
+double_max + Inf : Inf
+double_max + long_max : 0x0fffffffffffff8e+242
+double_max + long_min : 0x0fffffffffffff8e+242
+double_max + int_max : 0x0fffffffffffff8e+242
+double_max + int_min : 0x0fffffffffffff8e+242
+double_max + uint_max : 0x0fffffffffffff8e+242
+double_max + ulong_max : 0x0fffffffffffff8e+242
+double_max + double_min : 0x0fffffffffffff8e+242
+double_max + double_max : Inf
+double_max + float_min : 0x0fffffffffffff8e+242
+double_max + float_max : 0x0fffffffffffff8e+242
+double_max - zero_min : 0x0fffffffffffff8e+242
+double_max - zero_plus : 0x0fffffffffffff8e+242
+double_max - zero : 0x0fffffffffffff8e+242
+double_max - NaN : NaN
+double_max - Inf_plus : -Inf
+double_max - Inf_min : Inf
+double_max - Inf : -Inf
+double_max - long_max : 0x0fffffffffffff8e+242
+double_max - long_min : 0x0fffffffffffff8e+242
+double_max - int_max : 0x0fffffffffffff8e+242
+double_max - int_min : 0x0fffffffffffff8e+242
+double_max - uint_max : 0x0fffffffffffff8e+242
+double_max - ulong_max : 0x0fffffffffffff8e+242
+double_max - double_min : 0x0fffffffffffff8e+242
+double_max - double_max : 0x0
+double_max - float_min : 0x0fffffffffffff8e+242
+double_max - float_max : 0x0fffffffffffff8e+242
+double_max > zero_min : 0x1
+double_max > zero_plus : 0x1
+double_max > zero : 0x1
+double_max > NaN : 0x0
+double_max > Inf_plus : 0x0
+double_max > Inf_min : 0x1
+double_max > Inf : 0x0
+double_max > long_max : 0x1
+double_max > long_min : 0x1
+double_max > int_max : 0x1
+double_max > int_min : 0x1
+double_max > uint_max : 0x1
+double_max > ulong_max : 0x1
+double_max > double_min : 0x1
+double_max > double_max : 0x0
+double_max > float_min : 0x1
+double_max > float_max : 0x1
+double_max < zero_min : 0x0
+double_max < zero_plus : 0x0
+double_max < zero : 0x0
+double_max < NaN : 0x0
+double_max < Inf_plus : 0x1
+double_max < Inf_min : 0x0
+double_max < Inf : 0x1
+double_max < long_max : 0x0
+double_max < long_min : 0x0
+double_max < int_max : 0x0
+double_max < int_min : 0x0
+double_max < uint_max : 0x0
+double_max < ulong_max : 0x0
+double_max < double_min : 0x0
+double_max < double_max : 0x0
+double_max < float_min : 0x0
+double_max < float_max : 0x0
+double_max >= zero_min : 0x1
+double_max >= zero_plus : 0x1
+double_max >= zero : 0x1
+double_max >= NaN : 0x0
+double_max >= Inf_plus : 0x0
+double_max >= Inf_min : 0x1
+double_max >= Inf : 0x0
+double_max >= long_max : 0x1
+double_max >= long_min : 0x1
+double_max >= int_max : 0x1
+double_max >= int_min : 0x1
+double_max >= uint_max : 0x1
+double_max >= ulong_max : 0x1
+double_max >= double_min : 0x1
+double_max >= double_max : 0x1
+double_max >= float_min : 0x1
+double_max >= float_max : 0x1
+double_max <= zero_min : 0x0
+double_max <= zero_plus : 0x0
+double_max <= zero : 0x0
+double_max <= NaN : 0x0
+double_max <= Inf_plus : 0x1
+double_max <= Inf_min : 0x0
+double_max <= Inf : 0x1
+double_max <= long_max : 0x0
+double_max <= long_min : 0x0
+double_max <= int_max : 0x0
+double_max <= int_min : 0x0
+double_max <= uint_max : 0x0
+double_max <= ulong_max : 0x0
+double_max <= double_min : 0x0
+double_max <= double_max : 0x1
+double_max <= float_min : 0x0
+double_max <= float_max : 0x0
+double_max == zero_min : 0x0
+double_max == zero_plus : 0x0
+double_max == zero : 0x0
+double_max == NaN : 0x0
+double_max == Inf_plus : 0x0
+double_max == Inf_min : 0x0
+double_max == Inf : 0x0
+double_max == long_max : 0x0
+double_max == long_min : 0x0
+double_max == int_max : 0x0
+double_max == int_min : 0x0
+double_max == uint_max : 0x0
+double_max == ulong_max : 0x0
+double_max == double_min : 0x0
+double_max == double_max : 0x1
+double_max == float_min : 0x0
+double_max == float_max : 0x0
+double_max != zero_min : 0x1
+double_max != zero_plus : 0x1
+double_max != zero : 0x1
+double_max != NaN : 0x1
+double_max != Inf_plus : 0x1
+double_max != Inf_min : 0x1
+double_max != Inf : 0x1
+double_max != long_max : 0x1
+double_max != long_min : 0x1
+double_max != int_max : 0x1
+double_max != int_min : 0x1
+double_max != uint_max : 0x1
+double_max != ulong_max : 0x1
+double_max != double_min : 0x1
+double_max != double_max : 0x0
+double_max != float_min : 0x1
+double_max != float_max : 0x1
+double_max * double_max * zero_min : NaN
+double_max * double_max * zero_plus : NaN
+double_max * double_max * zero : NaN
+double_max * double_max * NaN : NaN
+double_max * double_max * Inf_plus : Inf
+double_max * double_max * Inf_min : -Inf
+double_max * double_max * Inf : Inf
+double_max * double_max * long_max : Inf
+double_max * double_max * long_min : -Inf
+double_max * double_max * int_max : Inf
+double_max * double_max * int_min : -Inf
+double_max * double_max * uint_max : Inf
+double_max * double_max * ulong_max : Inf
+double_max * double_max * double_min : Inf
+double_max * double_max * double_max : Inf
+double_max * double_max * float_min : Inf
+double_max * double_max * float_max : Inf
+float_min / zero_min : -Inf
+float_min / zero_plus : Inf
+float_min / zero : Inf
+float_min / NaN : NaN
+float_min / Inf_plus : 0x0
+float_min / Inf_min : 0x0
+float_min / Inf : 0x0
+float_min / long_max : 0x.08e-46
+float_min / long_min : 0x.8e-47
+float_min / int_max : 0x.080000001e-38
+float_min / int_min : 0x.8e-39
+float_min / uint_max : 0x.400000004e-39
+float_min / ulong_max : 0x.4e-47
+float_min / double_min : 0x1e+224
+float_min / double_max : 0x0
+float_min / float_min : 0x1
+float_min / float_max : 0x.4000004000004e-63
+float_min * zero_min : 0x0
+float_min * zero_plus : 0x0
+float_min * zero : 0x0
+float_min * NaN : NaN
+float_min * Inf_plus : Inf
+float_min * Inf_min : -Inf
+float_min * Inf : Inf
+float_min * long_max : 0x.2e-15
+float_min * long_min : 0x.ee-15
+float_min * int_max : 0x.1fffffffce-23
+float_min * int_min : 0x.ee-23
+float_min * uint_max : 0x.3fffffffce-23
+float_min * ulong_max : 0x.4e-15
+float_min * double_min : 0x0
+float_min * double_max : 0x3ffffffffffffee+211
+float_min * float_min : 0x.1e-62
+float_min * float_max : 0x3.fffffc
+float_min + zero_min : 0x.4e-31
+float_min + zero_plus : 0x.4e-31
+float_min + zero : 0x.4e-31
+float_min + NaN : NaN
+float_min + Inf_plus : Inf
+float_min + Inf_min : -Inf
+float_min + Inf : Inf
+float_min + long_max : 0x08e+15
+float_min + long_min : 0x8e+15
+float_min + int_max : 0x7fffffff
+float_min + int_min : 0x8e+7
+float_min + uint_max : 0x0ffffffff
+float_min + ulong_max : 0x1e+16
+float_min + double_min : 0x.4e-31
+float_min + double_max : 0x0fffffffffffff8e+242
+float_min + float_min : 0x.08e-30
+float_min + float_max : 0x0ffffffe+26
+float_min - zero_min : 0x.4e-31
+float_min - zero_plus : 0x.4e-31
+float_min - zero : 0x.4e-31
+float_min - NaN : NaN
+float_min - Inf_plus : -Inf
+float_min - Inf_min : Inf
+float_min - Inf : -Inf
+float_min - long_max : 0x8e+15
+float_min - long_min : 0x08e+15
+float_min - int_max : 0x80000001
+float_min - int_min : 0x08e+7
+float_min - uint_max : 0xf00000001
+float_min - ulong_max : 0xfe+16
+float_min - double_min : 0x.4e-31
+float_min - double_max : 0xf00000000000008e+242
+float_min - float_min : 0x0
+float_min - float_max : 0xf000001e+26
+float_min > zero_min : 0x1
+float_min > zero_plus : 0x1
+float_min > zero : 0x1
+float_min > NaN : 0x0
+float_min > Inf_plus : 0x0
+float_min > Inf_min : 0x1
+float_min > Inf : 0x0
+float_min > long_max : 0x0
+float_min > long_min : 0x1
+float_min > int_max : 0x0
+float_min > int_min : 0x1
+float_min > uint_max : 0x0
+float_min > ulong_max : 0x0
+float_min > double_min : 0x1
+float_min > double_max : 0x0
+float_min > float_min : 0x0
+float_min > float_max : 0x0
+float_min < zero_min : 0x0
+float_min < zero_plus : 0x0
+float_min < zero : 0x0
+float_min < NaN : 0x0
+float_min < Inf_plus : 0x1
+float_min < Inf_min : 0x0
+float_min < Inf : 0x1
+float_min < long_max : 0x1
+float_min < long_min : 0x0
+float_min < int_max : 0x1
+float_min < int_min : 0x0
+float_min < uint_max : 0x1
+float_min < ulong_max : 0x1
+float_min < double_min : 0x0
+float_min < double_max : 0x1
+float_min < float_min : 0x0
+float_min < float_max : 0x1
+float_min >= zero_min : 0x1
+float_min >= zero_plus : 0x1
+float_min >= zero : 0x1
+float_min >= NaN : 0x0
+float_min >= Inf_plus : 0x0
+float_min >= Inf_min : 0x1
+float_min >= Inf : 0x0
+float_min >= long_max : 0x0
+float_min >= long_min : 0x1
+float_min >= int_max : 0x0
+float_min >= int_min : 0x1
+float_min >= uint_max : 0x0
+float_min >= ulong_max : 0x0
+float_min >= double_min : 0x1
+float_min >= double_max : 0x0
+float_min >= float_min : 0x1
+float_min >= float_max : 0x0
+float_min <= zero_min : 0x0
+float_min <= zero_plus : 0x0
+float_min <= zero : 0x0
+float_min <= NaN : 0x0
+float_min <= Inf_plus : 0x1
+float_min <= Inf_min : 0x0
+float_min <= Inf : 0x1
+float_min <= long_max : 0x1
+float_min <= long_min : 0x0
+float_min <= int_max : 0x1
+float_min <= int_min : 0x0
+float_min <= uint_max : 0x1
+float_min <= ulong_max : 0x1
+float_min <= double_min : 0x0
+float_min <= double_max : 0x1
+float_min <= float_min : 0x1
+float_min <= float_max : 0x1
+float_min == zero_min : 0x0
+float_min == zero_plus : 0x0
+float_min == zero : 0x0
+float_min == NaN : 0x0
+float_min == Inf_plus : 0x0
+float_min == Inf_min : 0x0
+float_min == Inf : 0x0
+float_min == long_max : 0x0
+float_min == long_min : 0x0
+float_min == int_max : 0x0
+float_min == int_min : 0x0
+float_min == uint_max : 0x0
+float_min == ulong_max : 0x0
+float_min == double_min : 0x0
+float_min == double_max : 0x0
+float_min == float_min : 0x1
+float_min == float_max : 0x0
+float_min != zero_min : 0x1
+float_min != zero_plus : 0x1
+float_min != zero : 0x1
+float_min != NaN : 0x1
+float_min != Inf_plus : 0x1
+float_min != Inf_min : 0x1
+float_min != Inf : 0x1
+float_min != long_max : 0x1
+float_min != long_min : 0x1
+float_min != int_max : 0x1
+float_min != int_min : 0x1
+float_min != uint_max : 0x1
+float_min != ulong_max : 0x1
+float_min != double_min : 0x1
+float_min != double_max : 0x1
+float_min != float_min : 0x0
+float_min != float_max : 0x1
+float_min * float_min * zero_min : 0x0
+float_min * float_min * zero_plus : 0x0
+float_min * float_min * zero : 0x0
+float_min * float_min * NaN : NaN
+float_min * float_min * Inf_plus : Inf
+float_min * float_min * Inf_min : -Inf
+float_min * float_min * Inf : Inf
+float_min * float_min * long_max : 0x.08e-46
+float_min * float_min * long_min : 0x.8e-47
+float_min * float_min * int_max : 0x.7fffffffe-55
+float_min * float_min * int_min : 0x.8e-55
+float_min * float_min * uint_max : 0x.0ffffffffe-54
+float_min * float_min * ulong_max : 0x.1e-46
+float_min * float_min * double_min : 0x0
+float_min * float_min * double_max : 0x0fffffffffffff8e+179
+float_min * float_min * float_min : 0x.4e-94
+float_min * float_min * float_max : 0x.0ffffffe-30
+float_max / zero_min : -Inf
+float_max / zero_plus : Inf
+float_max / zero : Inf
+float_max / NaN : NaN
+float_max / Inf_plus : 0x0
+float_max / Inf_min : 0x0
+float_max / Inf : 0x0
+float_max / long_max : 0x1fffffee+10
+float_max / long_min : 0xe000002e+10
+float_max / int_max : 0x1fffffe04e+16
+float_max / int_min : 0xe000002e+18
+float_max / uint_max : 0x0ffffff01e+16
+float_max / ulong_max : 0x0ffffffe+10
+float_max / double_min : Inf
+float_max / double_max : 0x.0ffffff00000008e-223
+float_max / float_min : 0x3fffffce+57
+float_max / float_max : 0x1
+float_max * zero_min : 0x0
+float_max * zero_plus : 0x0
+float_max * zero : 0x0
+float_max * NaN : NaN
+float_max * Inf_plus : Inf
+float_max * Inf_min : -Inf
+float_max * Inf : Inf
+float_max * long_max : 0x7fffff8e+41
+float_max * long_min : 0x8000008e+41
+float_max * int_max : 0x7fffff7fe+32
+float_max * int_min : 0x8000008e+33
+float_max * uint_max : 0x0fffffeffe+32
+float_max * ulong_max : 0x0ffffffe+42
+float_max * double_min : 0x.3fffffce-223
+float_max * double_max : Inf
+float_max * float_min : 0x3.fffffc
+float_max * float_max : 0x0fffffe000001e+52
+float_max + zero_min : 0x0ffffffe+26
+float_max + zero_plus : 0x0ffffffe+26
+float_max + zero : 0x0ffffffe+26
+float_max + NaN : NaN
+float_max + Inf_plus : Inf
+float_max + Inf_min : -Inf
+float_max + Inf : Inf
+float_max + long_max : 0x0ffffffe+26
+float_max + long_min : 0x0ffffffe+26
+float_max + int_max : 0x0ffffffe+26
+float_max + int_min : 0x0ffffffe+26
+float_max + uint_max : 0x0ffffffe+26
+float_max + ulong_max : 0x0ffffffe+26
+float_max + double_min : 0x0ffffffe+26
+float_max + double_max : 0x0fffffffffffff8e+242
+float_max + float_min : 0x0ffffffe+26
+float_max + float_max : 0x1fffffee+26
+float_max - zero_min : 0x0ffffffe+26
+float_max - zero_plus : 0x0ffffffe+26
+float_max - zero : 0x0ffffffe+26
+float_max - NaN : NaN
+float_max - Inf_plus : -Inf
+float_max - Inf_min : Inf
+float_max - Inf : -Inf
+float_max - long_max : 0x0ffffffe+26
+float_max - long_min : 0x0ffffffe+26
+float_max - int_max : 0x0ffffffe+26
+float_max - int_min : 0x0ffffffe+26
+float_max - uint_max : 0x0ffffffe+26
+float_max - ulong_max : 0x0ffffffe+26
+float_max - double_min : 0x0ffffffe+26
+float_max - double_max : 0xf00000000000008e+242
+float_max - float_min : 0x0ffffffe+26
+float_max - float_max : 0x0
+float_max > zero_min : 0x1
+float_max > zero_plus : 0x1
+float_max > zero : 0x1
+float_max > NaN : 0x0
+float_max > Inf_plus : 0x0
+float_max > Inf_min : 0x1
+float_max > Inf : 0x0
+float_max > long_max : 0x1
+float_max > long_min : 0x1
+float_max > int_max : 0x1
+float_max > int_min : 0x1
+float_max > uint_max : 0x1
+float_max > ulong_max : 0x1
+float_max > double_min : 0x1
+float_max > double_max : 0x0
+float_max > float_min : 0x1
+float_max > float_max : 0x0
+float_max < zero_min : 0x0
+float_max < zero_plus : 0x0
+float_max < zero : 0x0
+float_max < NaN : 0x0
+float_max < Inf_plus : 0x1
+float_max < Inf_min : 0x0
+float_max < Inf : 0x1
+float_max < long_max : 0x0
+float_max < long_min : 0x0
+float_max < int_max : 0x0
+float_max < int_min : 0x0
+float_max < uint_max : 0x0
+float_max < ulong_max : 0x0
+float_max < double_min : 0x0
+float_max < double_max : 0x1
+float_max < float_min : 0x0
+float_max < float_max : 0x0
+float_max >= zero_min : 0x1
+float_max >= zero_plus : 0x1
+float_max >= zero : 0x1
+float_max >= NaN : 0x0
+float_max >= Inf_plus : 0x0
+float_max >= Inf_min : 0x1
+float_max >= Inf : 0x0
+float_max >= long_max : 0x1
+float_max >= long_min : 0x1
+float_max >= int_max : 0x1
+float_max >= int_min : 0x1
+float_max >= uint_max : 0x1
+float_max >= ulong_max : 0x1
+float_max >= double_min : 0x1
+float_max >= double_max : 0x0
+float_max >= float_min : 0x1
+float_max >= float_max : 0x1
+float_max <= zero_min : 0x0
+float_max <= zero_plus : 0x0
+float_max <= zero : 0x0
+float_max <= NaN : 0x0
+float_max <= Inf_plus : 0x1
+float_max <= Inf_min : 0x0
+float_max <= Inf : 0x1
+float_max <= long_max : 0x0
+float_max <= long_min : 0x0
+float_max <= int_max : 0x0
+float_max <= int_min : 0x0
+float_max <= uint_max : 0x0
+float_max <= ulong_max : 0x0
+float_max <= double_min : 0x0
+float_max <= double_max : 0x1
+float_max <= float_min : 0x0
+float_max <= float_max : 0x1
+float_max == zero_min : 0x0
+float_max == zero_plus : 0x0
+float_max == zero : 0x0
+float_max == NaN : 0x0
+float_max == Inf_plus : 0x0
+float_max == Inf_min : 0x0
+float_max == Inf : 0x0
+float_max == long_max : 0x0
+float_max == long_min : 0x0
+float_max == int_max : 0x0
+float_max == int_min : 0x0
+float_max == uint_max : 0x0
+float_max == ulong_max : 0x0
+float_max == double_min : 0x0
+float_max == double_max : 0x0
+float_max == float_min : 0x0
+float_max == float_max : 0x1
+float_max != zero_min : 0x1
+float_max != zero_plus : 0x1
+float_max != zero : 0x1
+float_max != NaN : 0x1
+float_max != Inf_plus : 0x1
+float_max != Inf_min : 0x1
+float_max != Inf : 0x1
+float_max != long_max : 0x1
+float_max != long_min : 0x1
+float_max != int_max : 0x1
+float_max != int_min : 0x1
+float_max != uint_max : 0x1
+float_max != ulong_max : 0x1
+float_max != double_min : 0x1
+float_max != double_max : 0x1
+float_max != float_min : 0x1
+float_max != float_max : 0x0
+float_max * float_max * zero_min : 0x0
+float_max * float_max * zero_plus : 0x0
+float_max * float_max * zero : 0x0
+float_max * float_max * NaN : NaN
+float_max * float_max * Inf_plus : Inf
+float_max * float_max * Inf_min : -Inf
+float_max * float_max * Inf : Inf
+float_max * float_max * long_max : 0x7fffff0000008e+67
+float_max * float_max * long_min : 0x800000ffffff8e+67
+float_max * float_max * int_max : 0x7ffffeff00008e+59
+float_max * float_max * int_min : 0x800000ffffff8e+59
+float_max * float_max * uint_max : 0x0fffffdff0001e+60
+float_max * float_max * ulong_max : 0x0fffffe000001e+68
+float_max * float_max * double_min : 0x.3fffff8000004e-191
+float_max * float_max * double_max : Inf
+float_max * float_max * float_min : 0x3fffff8000004e+20
+float_max * float_max * float_max : 0x0fffffd000003e+84
+double_min / NaN : NaN
+****************** limits fx_ufix
+****************** limits fx_ufix_zero
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x000000000
+long_min : 0x000000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x000000000
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_Inf
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x000000000
+long_min : 0x000000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x000000000
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_long
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x000000000
+long_min : 0x000000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x000000000
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_double
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x000000000
+long_min : 0x000000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x000000000
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_fix
+****************** limits fx_fix_zero
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x00000000
+long_min : 0x00000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0x00000000
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_Inf
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x00000000
+long_min : 0x00000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0x00000000
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_long
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x00000000
+long_min : 0x00000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0x00000000
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_double
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x00000000
+long_min : 0x00000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0x00000000
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fixed<8, 5>
+****************** limits fx_fixed<8, 5>_zero
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_Inf
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_long
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_double
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>
+****************** limits fx_ufixed<8, 5>_zero
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_Inf
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_long
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_double
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.cygwin b/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.cygwin
new file mode 100644
index 000000000..847536547
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.cygwin
@@ -0,0 +1,3482 @@
+SystemC Simulation
+****************** limits fx_float_zero
+****************** limits fx_float_inf
+****************** limits fx_float
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x7fffffff
+long_min : 0x8e+7
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+zero_min / zero_min : NaN
+zero_min / zero_plus : NaN
+zero_min / zero : NaN
+zero_min / NaN : NaN
+zero_min / Inf_plus : 0x0
+zero_min / Inf_min : 0x0
+zero_min / Inf : 0x0
+zero_min / long_max : 0x0
+zero_min / long_min : 0x0
+zero_min / int_max : 0x0
+zero_min / int_min : 0x0
+zero_min / uint_max : 0x0
+zero_min / ulong_max : 0x0
+zero_min / double_min : 0x0
+zero_min / double_max : 0x0
+zero_min / float_min : 0x0
+zero_min / float_max : 0x0
+zero_min * zero_min : 0x0
+zero_min * zero_plus : 0x0
+zero_min * zero : 0x0
+zero_min * NaN : NaN
+zero_min * Inf_plus : NaN
+zero_min * Inf_min : NaN
+zero_min * Inf : NaN
+zero_min * long_max : 0x0
+zero_min * long_min : 0x0
+zero_min * int_max : 0x0
+zero_min * int_min : 0x0
+zero_min * uint_max : 0x0
+zero_min * ulong_max : 0x0
+zero_min * double_min : 0x0
+zero_min * double_max : 0x0
+zero_min * float_min : 0x0
+zero_min * float_max : 0x0
+zero_min + zero_min : 0x0
+zero_min + zero_plus : 0x0
+zero_min + zero : 0x0
+zero_min + NaN : NaN
+zero_min + Inf_plus : Inf
+zero_min + Inf_min : -Inf
+zero_min + Inf : Inf
+zero_min + long_max : 0x7fffffff
+zero_min + long_min : 0x8e+7
+zero_min + int_max : 0x7fffffff
+zero_min + int_min : 0x8e+7
+zero_min + uint_max : 0x0ffffffff
+zero_min + ulong_max : 0x0ffffffff
+zero_min + double_min : 0x.4e-255
+zero_min + double_max : 0x0fffffffffffff8e+242
+zero_min + float_min : 0x.4e-31
+zero_min + float_max : 0x0ffffffe+26
+zero_min - zero_min : 0x0
+zero_min - zero_plus : 0x0
+zero_min - zero : 0x0
+zero_min - NaN : NaN
+zero_min - Inf_plus : -Inf
+zero_min - Inf_min : Inf
+zero_min - Inf : -Inf
+zero_min - long_max : 0x80000001
+zero_min - long_min : 0x08e+7
+zero_min - int_max : 0x80000001
+zero_min - int_min : 0x08e+7
+zero_min - uint_max : 0xf00000001
+zero_min - ulong_max : 0xf00000001
+zero_min - double_min : 0x.ce-255
+zero_min - double_max : 0xf00000000000008e+242
+zero_min - float_min : 0x.ce-31
+zero_min - float_max : 0xf000001e+26
+zero_min > zero_min : 0x0
+zero_min > zero_plus : 0x0
+zero_min > zero : 0x0
+zero_min > NaN : 0x0
+zero_min > Inf_plus : 0x0
+zero_min > Inf_min : 0x1
+zero_min > Inf : 0x0
+zero_min > long_max : 0x0
+zero_min > long_min : 0x1
+zero_min > int_max : 0x0
+zero_min > int_min : 0x1
+zero_min > uint_max : 0x0
+zero_min > ulong_max : 0x0
+zero_min > double_min : 0x0
+zero_min > double_max : 0x0
+zero_min > float_min : 0x0
+zero_min > float_max : 0x0
+zero_min < zero_min : 0x0
+zero_min < zero_plus : 0x0
+zero_min < zero : 0x0
+zero_min < NaN : 0x0
+zero_min < Inf_plus : 0x1
+zero_min < Inf_min : 0x0
+zero_min < Inf : 0x1
+zero_min < long_max : 0x1
+zero_min < long_min : 0x0
+zero_min < int_max : 0x1
+zero_min < int_min : 0x0
+zero_min < uint_max : 0x1
+zero_min < ulong_max : 0x1
+zero_min < double_min : 0x1
+zero_min < double_max : 0x1
+zero_min < float_min : 0x1
+zero_min < float_max : 0x1
+zero_min >= zero_min : 0x1
+zero_min >= zero_plus : 0x1
+zero_min >= zero : 0x1
+zero_min >= NaN : 0x0
+zero_min >= Inf_plus : 0x0
+zero_min >= Inf_min : 0x1
+zero_min >= Inf : 0x0
+zero_min >= long_max : 0x0
+zero_min >= long_min : 0x1
+zero_min >= int_max : 0x0
+zero_min >= int_min : 0x1
+zero_min >= uint_max : 0x0
+zero_min >= ulong_max : 0x0
+zero_min >= double_min : 0x0
+zero_min >= double_max : 0x0
+zero_min >= float_min : 0x0
+zero_min >= float_max : 0x0
+zero_min <= zero_min : 0x1
+zero_min <= zero_plus : 0x1
+zero_min <= zero : 0x1
+zero_min <= NaN : 0x0
+zero_min <= Inf_plus : 0x1
+zero_min <= Inf_min : 0x0
+zero_min <= Inf : 0x1
+zero_min <= long_max : 0x1
+zero_min <= long_min : 0x0
+zero_min <= int_max : 0x1
+zero_min <= int_min : 0x0
+zero_min <= uint_max : 0x1
+zero_min <= ulong_max : 0x1
+zero_min <= double_min : 0x1
+zero_min <= double_max : 0x1
+zero_min <= float_min : 0x1
+zero_min <= float_max : 0x1
+zero_min == zero_min : 0x1
+zero_min == zero_plus : 0x1
+zero_min == zero : 0x1
+zero_min == NaN : 0x0
+zero_min == Inf_plus : 0x0
+zero_min == Inf_min : 0x0
+zero_min == Inf : 0x0
+zero_min == long_max : 0x0
+zero_min == long_min : 0x0
+zero_min == int_max : 0x0
+zero_min == int_min : 0x0
+zero_min == uint_max : 0x0
+zero_min == ulong_max : 0x0
+zero_min == double_min : 0x0
+zero_min == double_max : 0x0
+zero_min == float_min : 0x0
+zero_min == float_max : 0x0
+zero_min != zero_min : 0x0
+zero_min != zero_plus : 0x0
+zero_min != zero : 0x0
+zero_min != NaN : 0x1
+zero_min != Inf_plus : 0x1
+zero_min != Inf_min : 0x1
+zero_min != Inf : 0x1
+zero_min != long_max : 0x1
+zero_min != long_min : 0x1
+zero_min != int_max : 0x1
+zero_min != int_min : 0x1
+zero_min != uint_max : 0x1
+zero_min != ulong_max : 0x1
+zero_min != double_min : 0x1
+zero_min != double_max : 0x1
+zero_min != float_min : 0x1
+zero_min != float_max : 0x1
+zero_min * zero_min * zero_min : 0x0
+zero_min * zero_min * zero_plus : 0x0
+zero_min * zero_min * zero : 0x0
+zero_min * zero_min * NaN : NaN
+zero_min * zero_min * Inf_plus : NaN
+zero_min * zero_min * Inf_min : NaN
+zero_min * zero_min * Inf : NaN
+zero_min * zero_min * long_max : 0x0
+zero_min * zero_min * long_min : 0x0
+zero_min * zero_min * int_max : 0x0
+zero_min * zero_min * int_min : 0x0
+zero_min * zero_min * uint_max : 0x0
+zero_min * zero_min * ulong_max : 0x0
+zero_min * zero_min * double_min : 0x0
+zero_min * zero_min * double_max : 0x0
+zero_min * zero_min * float_min : 0x0
+zero_min * zero_min * float_max : 0x0
+zero_plus / zero_min : NaN
+zero_plus / zero_plus : NaN
+zero_plus / zero : NaN
+zero_plus / NaN : NaN
+zero_plus / Inf_plus : 0x0
+zero_plus / Inf_min : 0x0
+zero_plus / Inf : 0x0
+zero_plus / long_max : 0x0
+zero_plus / long_min : 0x0
+zero_plus / int_max : 0x0
+zero_plus / int_min : 0x0
+zero_plus / uint_max : 0x0
+zero_plus / ulong_max : 0x0
+zero_plus / double_min : 0x0
+zero_plus / double_max : 0x0
+zero_plus / float_min : 0x0
+zero_plus / float_max : 0x0
+zero_plus * zero_min : 0x0
+zero_plus * zero_plus : 0x0
+zero_plus * zero : 0x0
+zero_plus * NaN : NaN
+zero_plus * Inf_plus : NaN
+zero_plus * Inf_min : NaN
+zero_plus * Inf : NaN
+zero_plus * long_max : 0x0
+zero_plus * long_min : 0x0
+zero_plus * int_max : 0x0
+zero_plus * int_min : 0x0
+zero_plus * uint_max : 0x0
+zero_plus * ulong_max : 0x0
+zero_plus * double_min : 0x0
+zero_plus * double_max : 0x0
+zero_plus * float_min : 0x0
+zero_plus * float_max : 0x0
+zero_plus + zero_min : 0x0
+zero_plus + zero_plus : 0x0
+zero_plus + zero : 0x0
+zero_plus + NaN : NaN
+zero_plus + Inf_plus : Inf
+zero_plus + Inf_min : -Inf
+zero_plus + Inf : Inf
+zero_plus + long_max : 0x7fffffff
+zero_plus + long_min : 0x8e+7
+zero_plus + int_max : 0x7fffffff
+zero_plus + int_min : 0x8e+7
+zero_plus + uint_max : 0x0ffffffff
+zero_plus + ulong_max : 0x0ffffffff
+zero_plus + double_min : 0x.4e-255
+zero_plus + double_max : 0x0fffffffffffff8e+242
+zero_plus + float_min : 0x.4e-31
+zero_plus + float_max : 0x0ffffffe+26
+zero_plus - zero_min : 0x0
+zero_plus - zero_plus : 0x0
+zero_plus - zero : 0x0
+zero_plus - NaN : NaN
+zero_plus - Inf_plus : -Inf
+zero_plus - Inf_min : Inf
+zero_plus - Inf : -Inf
+zero_plus - long_max : 0x80000001
+zero_plus - long_min : 0x08e+7
+zero_plus - int_max : 0x80000001
+zero_plus - int_min : 0x08e+7
+zero_plus - uint_max : 0xf00000001
+zero_plus - ulong_max : 0xf00000001
+zero_plus - double_min : 0x.ce-255
+zero_plus - double_max : 0xf00000000000008e+242
+zero_plus - float_min : 0x.ce-31
+zero_plus - float_max : 0xf000001e+26
+zero_plus > zero_min : 0x0
+zero_plus > zero_plus : 0x0
+zero_plus > zero : 0x0
+zero_plus > NaN : 0x0
+zero_plus > Inf_plus : 0x0
+zero_plus > Inf_min : 0x1
+zero_plus > Inf : 0x0
+zero_plus > long_max : 0x0
+zero_plus > long_min : 0x1
+zero_plus > int_max : 0x0
+zero_plus > int_min : 0x1
+zero_plus > uint_max : 0x0
+zero_plus > ulong_max : 0x0
+zero_plus > double_min : 0x0
+zero_plus > double_max : 0x0
+zero_plus > float_min : 0x0
+zero_plus > float_max : 0x0
+zero_plus < zero_min : 0x0
+zero_plus < zero_plus : 0x0
+zero_plus < zero : 0x0
+zero_plus < NaN : 0x0
+zero_plus < Inf_plus : 0x1
+zero_plus < Inf_min : 0x0
+zero_plus < Inf : 0x1
+zero_plus < long_max : 0x1
+zero_plus < long_min : 0x0
+zero_plus < int_max : 0x1
+zero_plus < int_min : 0x0
+zero_plus < uint_max : 0x1
+zero_plus < ulong_max : 0x1
+zero_plus < double_min : 0x1
+zero_plus < double_max : 0x1
+zero_plus < float_min : 0x1
+zero_plus < float_max : 0x1
+zero_plus >= zero_min : 0x1
+zero_plus >= zero_plus : 0x1
+zero_plus >= zero : 0x1
+zero_plus >= NaN : 0x0
+zero_plus >= Inf_plus : 0x0
+zero_plus >= Inf_min : 0x1
+zero_plus >= Inf : 0x0
+zero_plus >= long_max : 0x0
+zero_plus >= long_min : 0x1
+zero_plus >= int_max : 0x0
+zero_plus >= int_min : 0x1
+zero_plus >= uint_max : 0x0
+zero_plus >= ulong_max : 0x0
+zero_plus >= double_min : 0x0
+zero_plus >= double_max : 0x0
+zero_plus >= float_min : 0x0
+zero_plus >= float_max : 0x0
+zero_plus <= zero_min : 0x1
+zero_plus <= zero_plus : 0x1
+zero_plus <= zero : 0x1
+zero_plus <= NaN : 0x0
+zero_plus <= Inf_plus : 0x1
+zero_plus <= Inf_min : 0x0
+zero_plus <= Inf : 0x1
+zero_plus <= long_max : 0x1
+zero_plus <= long_min : 0x0
+zero_plus <= int_max : 0x1
+zero_plus <= int_min : 0x0
+zero_plus <= uint_max : 0x1
+zero_plus <= ulong_max : 0x1
+zero_plus <= double_min : 0x1
+zero_plus <= double_max : 0x1
+zero_plus <= float_min : 0x1
+zero_plus <= float_max : 0x1
+zero_plus == zero_min : 0x1
+zero_plus == zero_plus : 0x1
+zero_plus == zero : 0x1
+zero_plus == NaN : 0x0
+zero_plus == Inf_plus : 0x0
+zero_plus == Inf_min : 0x0
+zero_plus == Inf : 0x0
+zero_plus == long_max : 0x0
+zero_plus == long_min : 0x0
+zero_plus == int_max : 0x0
+zero_plus == int_min : 0x0
+zero_plus == uint_max : 0x0
+zero_plus == ulong_max : 0x0
+zero_plus == double_min : 0x0
+zero_plus == double_max : 0x0
+zero_plus == float_min : 0x0
+zero_plus == float_max : 0x0
+zero_plus != zero_min : 0x0
+zero_plus != zero_plus : 0x0
+zero_plus != zero : 0x0
+zero_plus != NaN : 0x1
+zero_plus != Inf_plus : 0x1
+zero_plus != Inf_min : 0x1
+zero_plus != Inf : 0x1
+zero_plus != long_max : 0x1
+zero_plus != long_min : 0x1
+zero_plus != int_max : 0x1
+zero_plus != int_min : 0x1
+zero_plus != uint_max : 0x1
+zero_plus != ulong_max : 0x1
+zero_plus != double_min : 0x1
+zero_plus != double_max : 0x1
+zero_plus != float_min : 0x1
+zero_plus != float_max : 0x1
+zero_plus * zero_plus * zero_min : 0x0
+zero_plus * zero_plus * zero_plus : 0x0
+zero_plus * zero_plus * zero : 0x0
+zero_plus * zero_plus * NaN : NaN
+zero_plus * zero_plus * Inf_plus : NaN
+zero_plus * zero_plus * Inf_min : NaN
+zero_plus * zero_plus * Inf : NaN
+zero_plus * zero_plus * long_max : 0x0
+zero_plus * zero_plus * long_min : 0x0
+zero_plus * zero_plus * int_max : 0x0
+zero_plus * zero_plus * int_min : 0x0
+zero_plus * zero_plus * uint_max : 0x0
+zero_plus * zero_plus * ulong_max : 0x0
+zero_plus * zero_plus * double_min : 0x0
+zero_plus * zero_plus * double_max : 0x0
+zero_plus * zero_plus * float_min : 0x0
+zero_plus * zero_plus * float_max : 0x0
+zero / zero_min : NaN
+zero / zero_plus : NaN
+zero / zero : NaN
+zero / NaN : NaN
+zero / Inf_plus : 0x0
+zero / Inf_min : 0x0
+zero / Inf : 0x0
+zero / long_max : 0x0
+zero / long_min : 0x0
+zero / int_max : 0x0
+zero / int_min : 0x0
+zero / uint_max : 0x0
+zero / ulong_max : 0x0
+zero / double_min : 0x0
+zero / double_max : 0x0
+zero / float_min : 0x0
+zero / float_max : 0x0
+zero * zero_min : 0x0
+zero * zero_plus : 0x0
+zero * zero : 0x0
+zero * NaN : NaN
+zero * Inf_plus : NaN
+zero * Inf_min : NaN
+zero * Inf : NaN
+zero * long_max : 0x0
+zero * long_min : 0x0
+zero * int_max : 0x0
+zero * int_min : 0x0
+zero * uint_max : 0x0
+zero * ulong_max : 0x0
+zero * double_min : 0x0
+zero * double_max : 0x0
+zero * float_min : 0x0
+zero * float_max : 0x0
+zero + zero_min : 0x0
+zero + zero_plus : 0x0
+zero + zero : 0x0
+zero + NaN : NaN
+zero + Inf_plus : Inf
+zero + Inf_min : -Inf
+zero + Inf : Inf
+zero + long_max : 0x7fffffff
+zero + long_min : 0x8e+7
+zero + int_max : 0x7fffffff
+zero + int_min : 0x8e+7
+zero + uint_max : 0x0ffffffff
+zero + ulong_max : 0x0ffffffff
+zero + double_min : 0x.4e-255
+zero + double_max : 0x0fffffffffffff8e+242
+zero + float_min : 0x.4e-31
+zero + float_max : 0x0ffffffe+26
+zero - zero_min : 0x0
+zero - zero_plus : 0x0
+zero - zero : 0x0
+zero - NaN : NaN
+zero - Inf_plus : -Inf
+zero - Inf_min : Inf
+zero - Inf : -Inf
+zero - long_max : 0x80000001
+zero - long_min : 0x08e+7
+zero - int_max : 0x80000001
+zero - int_min : 0x08e+7
+zero - uint_max : 0xf00000001
+zero - ulong_max : 0xf00000001
+zero - double_min : 0x.ce-255
+zero - double_max : 0xf00000000000008e+242
+zero - float_min : 0x.ce-31
+zero - float_max : 0xf000001e+26
+zero > zero_min : 0x0
+zero > zero_plus : 0x0
+zero > zero : 0x0
+zero > NaN : 0x0
+zero > Inf_plus : 0x0
+zero > Inf_min : 0x1
+zero > Inf : 0x0
+zero > long_max : 0x0
+zero > long_min : 0x1
+zero > int_max : 0x0
+zero > int_min : 0x1
+zero > uint_max : 0x0
+zero > ulong_max : 0x0
+zero > double_min : 0x0
+zero > double_max : 0x0
+zero > float_min : 0x0
+zero > float_max : 0x0
+zero < zero_min : 0x0
+zero < zero_plus : 0x0
+zero < zero : 0x0
+zero < NaN : 0x0
+zero < Inf_plus : 0x1
+zero < Inf_min : 0x0
+zero < Inf : 0x1
+zero < long_max : 0x1
+zero < long_min : 0x0
+zero < int_max : 0x1
+zero < int_min : 0x0
+zero < uint_max : 0x1
+zero < ulong_max : 0x1
+zero < double_min : 0x1
+zero < double_max : 0x1
+zero < float_min : 0x1
+zero < float_max : 0x1
+zero >= zero_min : 0x1
+zero >= zero_plus : 0x1
+zero >= zero : 0x1
+zero >= NaN : 0x0
+zero >= Inf_plus : 0x0
+zero >= Inf_min : 0x1
+zero >= Inf : 0x0
+zero >= long_max : 0x0
+zero >= long_min : 0x1
+zero >= int_max : 0x0
+zero >= int_min : 0x1
+zero >= uint_max : 0x0
+zero >= ulong_max : 0x0
+zero >= double_min : 0x0
+zero >= double_max : 0x0
+zero >= float_min : 0x0
+zero >= float_max : 0x0
+zero <= zero_min : 0x1
+zero <= zero_plus : 0x1
+zero <= zero : 0x1
+zero <= NaN : 0x0
+zero <= Inf_plus : 0x1
+zero <= Inf_min : 0x0
+zero <= Inf : 0x1
+zero <= long_max : 0x1
+zero <= long_min : 0x0
+zero <= int_max : 0x1
+zero <= int_min : 0x0
+zero <= uint_max : 0x1
+zero <= ulong_max : 0x1
+zero <= double_min : 0x1
+zero <= double_max : 0x1
+zero <= float_min : 0x1
+zero <= float_max : 0x1
+zero == zero_min : 0x1
+zero == zero_plus : 0x1
+zero == zero : 0x1
+zero == NaN : 0x0
+zero == Inf_plus : 0x0
+zero == Inf_min : 0x0
+zero == Inf : 0x0
+zero == long_max : 0x0
+zero == long_min : 0x0
+zero == int_max : 0x0
+zero == int_min : 0x0
+zero == uint_max : 0x0
+zero == ulong_max : 0x0
+zero == double_min : 0x0
+zero == double_max : 0x0
+zero == float_min : 0x0
+zero == float_max : 0x0
+zero != zero_min : 0x0
+zero != zero_plus : 0x0
+zero != zero : 0x0
+zero != NaN : 0x1
+zero != Inf_plus : 0x1
+zero != Inf_min : 0x1
+zero != Inf : 0x1
+zero != long_max : 0x1
+zero != long_min : 0x1
+zero != int_max : 0x1
+zero != int_min : 0x1
+zero != uint_max : 0x1
+zero != ulong_max : 0x1
+zero != double_min : 0x1
+zero != double_max : 0x1
+zero != float_min : 0x1
+zero != float_max : 0x1
+zero * zero * zero_min : 0x0
+zero * zero * zero_plus : 0x0
+zero * zero * zero : 0x0
+zero * zero * NaN : NaN
+zero * zero * Inf_plus : NaN
+zero * zero * Inf_min : NaN
+zero * zero * Inf : NaN
+zero * zero * long_max : 0x0
+zero * zero * long_min : 0x0
+zero * zero * int_max : 0x0
+zero * zero * int_min : 0x0
+zero * zero * uint_max : 0x0
+zero * zero * ulong_max : 0x0
+zero * zero * double_min : 0x0
+zero * zero * double_max : 0x0
+zero * zero * float_min : 0x0
+zero * zero * float_max : 0x0
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x7fffffff
+long_min : 0x8e+7
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+NaN / zero_min : NaN
+NaN / zero_plus : NaN
+NaN / zero : NaN
+NaN / NaN : NaN
+NaN / Inf_plus : NaN
+NaN / Inf_min : NaN
+NaN / Inf : NaN
+NaN / long_max : NaN
+NaN / long_min : NaN
+NaN / int_max : NaN
+NaN / int_min : NaN
+NaN / uint_max : NaN
+NaN / ulong_max : NaN
+NaN / double_min : NaN
+NaN / double_max : NaN
+NaN / float_min : NaN
+NaN / float_max : NaN
+NaN * zero_min : NaN
+NaN * zero_plus : NaN
+NaN * zero : NaN
+NaN * NaN : NaN
+NaN * Inf_plus : NaN
+NaN * Inf_min : NaN
+NaN * Inf : NaN
+NaN * long_max : NaN
+NaN * long_min : NaN
+NaN * int_max : NaN
+NaN * int_min : NaN
+NaN * uint_max : NaN
+NaN * ulong_max : NaN
+NaN * double_min : NaN
+NaN * double_max : NaN
+NaN * float_min : NaN
+NaN * float_max : NaN
+NaN + zero_min : NaN
+NaN + zero_plus : NaN
+NaN + zero : NaN
+NaN + NaN : NaN
+NaN + Inf_plus : NaN
+NaN + Inf_min : NaN
+NaN + Inf : NaN
+NaN + long_max : NaN
+NaN + long_min : NaN
+NaN + int_max : NaN
+NaN + int_min : NaN
+NaN + uint_max : NaN
+NaN + ulong_max : NaN
+NaN + double_min : NaN
+NaN + double_max : NaN
+NaN + float_min : NaN
+NaN + float_max : NaN
+NaN - zero_min : NaN
+NaN - zero_plus : NaN
+NaN - zero : NaN
+NaN - NaN : NaN
+NaN - Inf_plus : NaN
+NaN - Inf_min : NaN
+NaN - Inf : NaN
+NaN - long_max : NaN
+NaN - long_min : NaN
+NaN - int_max : NaN
+NaN - int_min : NaN
+NaN - uint_max : NaN
+NaN - ulong_max : NaN
+NaN - double_min : NaN
+NaN - double_max : NaN
+NaN - float_min : NaN
+NaN - float_max : NaN
+NaN > zero_min : 0x0
+NaN > zero_plus : 0x0
+NaN > zero : 0x0
+NaN > NaN : 0x0
+NaN > Inf_plus : 0x0
+NaN > Inf_min : 0x0
+NaN > Inf : 0x0
+NaN > long_max : 0x0
+NaN > long_min : 0x0
+NaN > int_max : 0x0
+NaN > int_min : 0x0
+NaN > uint_max : 0x0
+NaN > ulong_max : 0x0
+NaN > double_min : 0x0
+NaN > double_max : 0x0
+NaN > float_min : 0x0
+NaN > float_max : 0x0
+NaN < zero_min : 0x0
+NaN < zero_plus : 0x0
+NaN < zero : 0x0
+NaN < NaN : 0x0
+NaN < Inf_plus : 0x0
+NaN < Inf_min : 0x0
+NaN < Inf : 0x0
+NaN < long_max : 0x0
+NaN < long_min : 0x0
+NaN < int_max : 0x0
+NaN < int_min : 0x0
+NaN < uint_max : 0x0
+NaN < ulong_max : 0x0
+NaN < double_min : 0x0
+NaN < double_max : 0x0
+NaN < float_min : 0x0
+NaN < float_max : 0x0
+NaN >= zero_min : 0x0
+NaN >= zero_plus : 0x0
+NaN >= zero : 0x0
+NaN >= NaN : 0x0
+NaN >= Inf_plus : 0x0
+NaN >= Inf_min : 0x0
+NaN >= Inf : 0x0
+NaN >= long_max : 0x0
+NaN >= long_min : 0x0
+NaN >= int_max : 0x0
+NaN >= int_min : 0x0
+NaN >= uint_max : 0x0
+NaN >= ulong_max : 0x0
+NaN >= double_min : 0x0
+NaN >= double_max : 0x0
+NaN >= float_min : 0x0
+NaN >= float_max : 0x0
+NaN <= zero_min : 0x0
+NaN <= zero_plus : 0x0
+NaN <= zero : 0x0
+NaN <= NaN : 0x0
+NaN <= Inf_plus : 0x0
+NaN <= Inf_min : 0x0
+NaN <= Inf : 0x0
+NaN <= long_max : 0x0
+NaN <= long_min : 0x0
+NaN <= int_max : 0x0
+NaN <= int_min : 0x0
+NaN <= uint_max : 0x0
+NaN <= ulong_max : 0x0
+NaN <= double_min : 0x0
+NaN <= double_max : 0x0
+NaN <= float_min : 0x0
+NaN <= float_max : 0x0
+NaN == zero_min : 0x0
+NaN == zero_plus : 0x0
+NaN == zero : 0x0
+NaN == NaN : 0x0
+NaN == Inf_plus : 0x0
+NaN == Inf_min : 0x0
+NaN == Inf : 0x0
+NaN == long_max : 0x0
+NaN == long_min : 0x0
+NaN == int_max : 0x0
+NaN == int_min : 0x0
+NaN == uint_max : 0x0
+NaN == ulong_max : 0x0
+NaN == double_min : 0x0
+NaN == double_max : 0x0
+NaN == float_min : 0x0
+NaN == float_max : 0x0
+NaN != zero_min : 0x1
+NaN != zero_plus : 0x1
+NaN != zero : 0x1
+NaN != NaN : 0x1
+NaN != Inf_plus : 0x1
+NaN != Inf_min : 0x1
+NaN != Inf : 0x1
+NaN != long_max : 0x1
+NaN != long_min : 0x1
+NaN != int_max : 0x1
+NaN != int_min : 0x1
+NaN != uint_max : 0x1
+NaN != ulong_max : 0x1
+NaN != double_min : 0x1
+NaN != double_max : 0x1
+NaN != float_min : 0x1
+NaN != float_max : 0x1
+NaN * NaN * zero_min : NaN
+NaN * NaN * zero_plus : NaN
+NaN * NaN * zero : NaN
+NaN * NaN * NaN : NaN
+NaN * NaN * Inf_plus : NaN
+NaN * NaN * Inf_min : NaN
+NaN * NaN * Inf : NaN
+NaN * NaN * long_max : NaN
+NaN * NaN * long_min : NaN
+NaN * NaN * int_max : NaN
+NaN * NaN * int_min : NaN
+NaN * NaN * uint_max : NaN
+NaN * NaN * ulong_max : NaN
+NaN * NaN * double_min : NaN
+NaN * NaN * double_max : NaN
+NaN * NaN * float_min : NaN
+NaN * NaN * float_max : NaN
+Inf_plus / zero_min : -Inf
+Inf_plus / zero_plus : Inf
+Inf_plus / zero : Inf
+Inf_plus / NaN : NaN
+Inf_plus / Inf_plus : NaN
+Inf_plus / Inf_min : NaN
+Inf_plus / Inf : NaN
+Inf_plus / long_max : Inf
+Inf_plus / long_min : -Inf
+Inf_plus / int_max : Inf
+Inf_plus / int_min : -Inf
+Inf_plus / uint_max : Inf
+Inf_plus / ulong_max : Inf
+Inf_plus / double_min : Inf
+Inf_plus / double_max : Inf
+Inf_plus / float_min : Inf
+Inf_plus / float_max : Inf
+Inf_plus * zero_min : NaN
+Inf_plus * zero_plus : NaN
+Inf_plus * zero : NaN
+Inf_plus * NaN : NaN
+Inf_plus * Inf_plus : Inf
+Inf_plus * Inf_min : -Inf
+Inf_plus * Inf : Inf
+Inf_plus * long_max : Inf
+Inf_plus * long_min : -Inf
+Inf_plus * int_max : Inf
+Inf_plus * int_min : -Inf
+Inf_plus * uint_max : Inf
+Inf_plus * ulong_max : Inf
+Inf_plus * double_min : Inf
+Inf_plus * double_max : Inf
+Inf_plus * float_min : Inf
+Inf_plus * float_max : Inf
+Inf_plus + zero_min : Inf
+Inf_plus + zero_plus : Inf
+Inf_plus + zero : Inf
+Inf_plus + NaN : NaN
+Inf_plus + Inf_plus : Inf
+Inf_plus + Inf_min : NaN
+Inf_plus + Inf : Inf
+Inf_plus + long_max : Inf
+Inf_plus + long_min : Inf
+Inf_plus + int_max : Inf
+Inf_plus + int_min : Inf
+Inf_plus + uint_max : Inf
+Inf_plus + ulong_max : Inf
+Inf_plus + double_min : Inf
+Inf_plus + double_max : Inf
+Inf_plus + float_min : Inf
+Inf_plus + float_max : Inf
+Inf_plus - zero_min : Inf
+Inf_plus - zero_plus : Inf
+Inf_plus - zero : Inf
+Inf_plus - NaN : NaN
+Inf_plus - Inf_plus : NaN
+Inf_plus - Inf_min : Inf
+Inf_plus - Inf : NaN
+Inf_plus - long_max : Inf
+Inf_plus - long_min : Inf
+Inf_plus - int_max : Inf
+Inf_plus - int_min : Inf
+Inf_plus - uint_max : Inf
+Inf_plus - ulong_max : Inf
+Inf_plus - double_min : Inf
+Inf_plus - double_max : Inf
+Inf_plus - float_min : Inf
+Inf_plus - float_max : Inf
+Inf_plus > zero_min : 0x1
+Inf_plus > zero_plus : 0x1
+Inf_plus > zero : 0x1
+Inf_plus > NaN : 0x0
+Inf_plus > Inf_plus : 0x0
+Inf_plus > Inf_min : 0x1
+Inf_plus > Inf : 0x0
+Inf_plus > long_max : 0x1
+Inf_plus > long_min : 0x1
+Inf_plus > int_max : 0x1
+Inf_plus > int_min : 0x1
+Inf_plus > uint_max : 0x1
+Inf_plus > ulong_max : 0x1
+Inf_plus > double_min : 0x1
+Inf_plus > double_max : 0x1
+Inf_plus > float_min : 0x1
+Inf_plus > float_max : 0x1
+Inf_plus < zero_min : 0x0
+Inf_plus < zero_plus : 0x0
+Inf_plus < zero : 0x0
+Inf_plus < NaN : 0x0
+Inf_plus < Inf_plus : 0x0
+Inf_plus < Inf_min : 0x0
+Inf_plus < Inf : 0x0
+Inf_plus < long_max : 0x0
+Inf_plus < long_min : 0x0
+Inf_plus < int_max : 0x0
+Inf_plus < int_min : 0x0
+Inf_plus < uint_max : 0x0
+Inf_plus < ulong_max : 0x0
+Inf_plus < double_min : 0x0
+Inf_plus < double_max : 0x0
+Inf_plus < float_min : 0x0
+Inf_plus < float_max : 0x0
+Inf_plus >= zero_min : 0x1
+Inf_plus >= zero_plus : 0x1
+Inf_plus >= zero : 0x1
+Inf_plus >= NaN : 0x0
+Inf_plus >= Inf_plus : 0x1
+Inf_plus >= Inf_min : 0x1
+Inf_plus >= Inf : 0x1
+Inf_plus >= long_max : 0x1
+Inf_plus >= long_min : 0x1
+Inf_plus >= int_max : 0x1
+Inf_plus >= int_min : 0x1
+Inf_plus >= uint_max : 0x1
+Inf_plus >= ulong_max : 0x1
+Inf_plus >= double_min : 0x1
+Inf_plus >= double_max : 0x1
+Inf_plus >= float_min : 0x1
+Inf_plus >= float_max : 0x1
+Inf_plus <= zero_min : 0x0
+Inf_plus <= zero_plus : 0x0
+Inf_plus <= zero : 0x0
+Inf_plus <= NaN : 0x0
+Inf_plus <= Inf_plus : 0x1
+Inf_plus <= Inf_min : 0x0
+Inf_plus <= Inf : 0x1
+Inf_plus <= long_max : 0x0
+Inf_plus <= long_min : 0x0
+Inf_plus <= int_max : 0x0
+Inf_plus <= int_min : 0x0
+Inf_plus <= uint_max : 0x0
+Inf_plus <= ulong_max : 0x0
+Inf_plus <= double_min : 0x0
+Inf_plus <= double_max : 0x0
+Inf_plus <= float_min : 0x0
+Inf_plus <= float_max : 0x0
+Inf_plus == zero_min : 0x0
+Inf_plus == zero_plus : 0x0
+Inf_plus == zero : 0x0
+Inf_plus == NaN : 0x0
+Inf_plus == Inf_plus : 0x1
+Inf_plus == Inf_min : 0x0
+Inf_plus == Inf : 0x1
+Inf_plus == long_max : 0x0
+Inf_plus == long_min : 0x0
+Inf_plus == int_max : 0x0
+Inf_plus == int_min : 0x0
+Inf_plus == uint_max : 0x0
+Inf_plus == ulong_max : 0x0
+Inf_plus == double_min : 0x0
+Inf_plus == double_max : 0x0
+Inf_plus == float_min : 0x0
+Inf_plus == float_max : 0x0
+Inf_plus != zero_min : 0x1
+Inf_plus != zero_plus : 0x1
+Inf_plus != zero : 0x1
+Inf_plus != NaN : 0x1
+Inf_plus != Inf_plus : 0x0
+Inf_plus != Inf_min : 0x1
+Inf_plus != Inf : 0x0
+Inf_plus != long_max : 0x1
+Inf_plus != long_min : 0x1
+Inf_plus != int_max : 0x1
+Inf_plus != int_min : 0x1
+Inf_plus != uint_max : 0x1
+Inf_plus != ulong_max : 0x1
+Inf_plus != double_min : 0x1
+Inf_plus != double_max : 0x1
+Inf_plus != float_min : 0x1
+Inf_plus != float_max : 0x1
+Inf_plus * Inf_plus * zero_min : NaN
+Inf_plus * Inf_plus * zero_plus : NaN
+Inf_plus * Inf_plus * zero : NaN
+Inf_plus * Inf_plus * NaN : NaN
+Inf_plus * Inf_plus * Inf_plus : Inf
+Inf_plus * Inf_plus * Inf_min : -Inf
+Inf_plus * Inf_plus * Inf : Inf
+Inf_plus * Inf_plus * long_max : Inf
+Inf_plus * Inf_plus * long_min : -Inf
+Inf_plus * Inf_plus * int_max : Inf
+Inf_plus * Inf_plus * int_min : -Inf
+Inf_plus * Inf_plus * uint_max : Inf
+Inf_plus * Inf_plus * ulong_max : Inf
+Inf_plus * Inf_plus * double_min : Inf
+Inf_plus * Inf_plus * double_max : Inf
+Inf_plus * Inf_plus * float_min : Inf
+Inf_plus * Inf_plus * float_max : Inf
+Inf_min / zero_min : Inf
+Inf_min / zero_plus : -Inf
+Inf_min / zero : -Inf
+Inf_min / NaN : NaN
+Inf_min / Inf_plus : NaN
+Inf_min / Inf_min : NaN
+Inf_min / Inf : NaN
+Inf_min / long_max : -Inf
+Inf_min / long_min : Inf
+Inf_min / int_max : -Inf
+Inf_min / int_min : Inf
+Inf_min / uint_max : -Inf
+Inf_min / ulong_max : -Inf
+Inf_min / double_min : -Inf
+Inf_min / double_max : -Inf
+Inf_min / float_min : -Inf
+Inf_min / float_max : -Inf
+Inf_min * zero_min : NaN
+Inf_min * zero_plus : NaN
+Inf_min * zero : NaN
+Inf_min * NaN : NaN
+Inf_min * Inf_plus : -Inf
+Inf_min * Inf_min : Inf
+Inf_min * Inf : -Inf
+Inf_min * long_max : -Inf
+Inf_min * long_min : Inf
+Inf_min * int_max : -Inf
+Inf_min * int_min : Inf
+Inf_min * uint_max : -Inf
+Inf_min * ulong_max : -Inf
+Inf_min * double_min : -Inf
+Inf_min * double_max : -Inf
+Inf_min * float_min : -Inf
+Inf_min * float_max : -Inf
+Inf_min + zero_min : -Inf
+Inf_min + zero_plus : -Inf
+Inf_min + zero : -Inf
+Inf_min + NaN : NaN
+Inf_min + Inf_plus : NaN
+Inf_min + Inf_min : -Inf
+Inf_min + Inf : NaN
+Inf_min + long_max : -Inf
+Inf_min + long_min : -Inf
+Inf_min + int_max : -Inf
+Inf_min + int_min : -Inf
+Inf_min + uint_max : -Inf
+Inf_min + ulong_max : -Inf
+Inf_min + double_min : -Inf
+Inf_min + double_max : -Inf
+Inf_min + float_min : -Inf
+Inf_min + float_max : -Inf
+Inf_min - zero_min : -Inf
+Inf_min - zero_plus : -Inf
+Inf_min - zero : -Inf
+Inf_min - NaN : NaN
+Inf_min - Inf_plus : -Inf
+Inf_min - Inf_min : NaN
+Inf_min - Inf : -Inf
+Inf_min - long_max : -Inf
+Inf_min - long_min : -Inf
+Inf_min - int_max : -Inf
+Inf_min - int_min : -Inf
+Inf_min - uint_max : -Inf
+Inf_min - ulong_max : -Inf
+Inf_min - double_min : -Inf
+Inf_min - double_max : -Inf
+Inf_min - float_min : -Inf
+Inf_min - float_max : -Inf
+Inf_min > zero_min : 0x0
+Inf_min > zero_plus : 0x0
+Inf_min > zero : 0x0
+Inf_min > NaN : 0x0
+Inf_min > Inf_plus : 0x0
+Inf_min > Inf_min : 0x0
+Inf_min > Inf : 0x0
+Inf_min > long_max : 0x0
+Inf_min > long_min : 0x0
+Inf_min > int_max : 0x0
+Inf_min > int_min : 0x0
+Inf_min > uint_max : 0x0
+Inf_min > ulong_max : 0x0
+Inf_min > double_min : 0x0
+Inf_min > double_max : 0x0
+Inf_min > float_min : 0x0
+Inf_min > float_max : 0x0
+Inf_min < zero_min : 0x1
+Inf_min < zero_plus : 0x1
+Inf_min < zero : 0x1
+Inf_min < NaN : 0x0
+Inf_min < Inf_plus : 0x1
+Inf_min < Inf_min : 0x0
+Inf_min < Inf : 0x1
+Inf_min < long_max : 0x1
+Inf_min < long_min : 0x1
+Inf_min < int_max : 0x1
+Inf_min < int_min : 0x1
+Inf_min < uint_max : 0x1
+Inf_min < ulong_max : 0x1
+Inf_min < double_min : 0x1
+Inf_min < double_max : 0x1
+Inf_min < float_min : 0x1
+Inf_min < float_max : 0x1
+Inf_min >= zero_min : 0x0
+Inf_min >= zero_plus : 0x0
+Inf_min >= zero : 0x0
+Inf_min >= NaN : 0x0
+Inf_min >= Inf_plus : 0x0
+Inf_min >= Inf_min : 0x1
+Inf_min >= Inf : 0x0
+Inf_min >= long_max : 0x0
+Inf_min >= long_min : 0x0
+Inf_min >= int_max : 0x0
+Inf_min >= int_min : 0x0
+Inf_min >= uint_max : 0x0
+Inf_min >= ulong_max : 0x0
+Inf_min >= double_min : 0x0
+Inf_min >= double_max : 0x0
+Inf_min >= float_min : 0x0
+Inf_min >= float_max : 0x0
+Inf_min <= zero_min : 0x1
+Inf_min <= zero_plus : 0x1
+Inf_min <= zero : 0x1
+Inf_min <= NaN : 0x0
+Inf_min <= Inf_plus : 0x1
+Inf_min <= Inf_min : 0x1
+Inf_min <= Inf : 0x1
+Inf_min <= long_max : 0x1
+Inf_min <= long_min : 0x1
+Inf_min <= int_max : 0x1
+Inf_min <= int_min : 0x1
+Inf_min <= uint_max : 0x1
+Inf_min <= ulong_max : 0x1
+Inf_min <= double_min : 0x1
+Inf_min <= double_max : 0x1
+Inf_min <= float_min : 0x1
+Inf_min <= float_max : 0x1
+Inf_min == zero_min : 0x0
+Inf_min == zero_plus : 0x0
+Inf_min == zero : 0x0
+Inf_min == NaN : 0x0
+Inf_min == Inf_plus : 0x0
+Inf_min == Inf_min : 0x1
+Inf_min == Inf : 0x0
+Inf_min == long_max : 0x0
+Inf_min == long_min : 0x0
+Inf_min == int_max : 0x0
+Inf_min == int_min : 0x0
+Inf_min == uint_max : 0x0
+Inf_min == ulong_max : 0x0
+Inf_min == double_min : 0x0
+Inf_min == double_max : 0x0
+Inf_min == float_min : 0x0
+Inf_min == float_max : 0x0
+Inf_min != zero_min : 0x1
+Inf_min != zero_plus : 0x1
+Inf_min != zero : 0x1
+Inf_min != NaN : 0x1
+Inf_min != Inf_plus : 0x1
+Inf_min != Inf_min : 0x0
+Inf_min != Inf : 0x1
+Inf_min != long_max : 0x1
+Inf_min != long_min : 0x1
+Inf_min != int_max : 0x1
+Inf_min != int_min : 0x1
+Inf_min != uint_max : 0x1
+Inf_min != ulong_max : 0x1
+Inf_min != double_min : 0x1
+Inf_min != double_max : 0x1
+Inf_min != float_min : 0x1
+Inf_min != float_max : 0x1
+Inf_min * Inf_min * zero_min : NaN
+Inf_min * Inf_min * zero_plus : NaN
+Inf_min * Inf_min * zero : NaN
+Inf_min * Inf_min * NaN : NaN
+Inf_min * Inf_min * Inf_plus : Inf
+Inf_min * Inf_min * Inf_min : -Inf
+Inf_min * Inf_min * Inf : Inf
+Inf_min * Inf_min * long_max : Inf
+Inf_min * Inf_min * long_min : -Inf
+Inf_min * Inf_min * int_max : Inf
+Inf_min * Inf_min * int_min : -Inf
+Inf_min * Inf_min * uint_max : Inf
+Inf_min * Inf_min * ulong_max : Inf
+Inf_min * Inf_min * double_min : Inf
+Inf_min * Inf_min * double_max : Inf
+Inf_min * Inf_min * float_min : Inf
+Inf_min * Inf_min * float_max : Inf
+Inf / zero_min : -Inf
+Inf / zero_plus : Inf
+Inf / zero : Inf
+Inf / NaN : NaN
+Inf / Inf_plus : NaN
+Inf / Inf_min : NaN
+Inf / Inf : NaN
+Inf / long_max : Inf
+Inf / long_min : -Inf
+Inf / int_max : Inf
+Inf / int_min : -Inf
+Inf / uint_max : Inf
+Inf / ulong_max : Inf
+Inf / double_min : Inf
+Inf / double_max : Inf
+Inf / float_min : Inf
+Inf / float_max : Inf
+Inf * zero_min : NaN
+Inf * zero_plus : NaN
+Inf * zero : NaN
+Inf * NaN : NaN
+Inf * Inf_plus : Inf
+Inf * Inf_min : -Inf
+Inf * Inf : Inf
+Inf * long_max : Inf
+Inf * long_min : -Inf
+Inf * int_max : Inf
+Inf * int_min : -Inf
+Inf * uint_max : Inf
+Inf * ulong_max : Inf
+Inf * double_min : Inf
+Inf * double_max : Inf
+Inf * float_min : Inf
+Inf * float_max : Inf
+Inf + zero_min : Inf
+Inf + zero_plus : Inf
+Inf + zero : Inf
+Inf + NaN : NaN
+Inf + Inf_plus : Inf
+Inf + Inf_min : NaN
+Inf + Inf : Inf
+Inf + long_max : Inf
+Inf + long_min : Inf
+Inf + int_max : Inf
+Inf + int_min : Inf
+Inf + uint_max : Inf
+Inf + ulong_max : Inf
+Inf + double_min : Inf
+Inf + double_max : Inf
+Inf + float_min : Inf
+Inf + float_max : Inf
+Inf - zero_min : Inf
+Inf - zero_plus : Inf
+Inf - zero : Inf
+Inf - NaN : NaN
+Inf - Inf_plus : NaN
+Inf - Inf_min : Inf
+Inf - Inf : NaN
+Inf - long_max : Inf
+Inf - long_min : Inf
+Inf - int_max : Inf
+Inf - int_min : Inf
+Inf - uint_max : Inf
+Inf - ulong_max : Inf
+Inf - double_min : Inf
+Inf - double_max : Inf
+Inf - float_min : Inf
+Inf - float_max : Inf
+Inf > zero_min : 0x1
+Inf > zero_plus : 0x1
+Inf > zero : 0x1
+Inf > NaN : 0x0
+Inf > Inf_plus : 0x0
+Inf > Inf_min : 0x1
+Inf > Inf : 0x0
+Inf > long_max : 0x1
+Inf > long_min : 0x1
+Inf > int_max : 0x1
+Inf > int_min : 0x1
+Inf > uint_max : 0x1
+Inf > ulong_max : 0x1
+Inf > double_min : 0x1
+Inf > double_max : 0x1
+Inf > float_min : 0x1
+Inf > float_max : 0x1
+Inf < zero_min : 0x0
+Inf < zero_plus : 0x0
+Inf < zero : 0x0
+Inf < NaN : 0x0
+Inf < Inf_plus : 0x0
+Inf < Inf_min : 0x0
+Inf < Inf : 0x0
+Inf < long_max : 0x0
+Inf < long_min : 0x0
+Inf < int_max : 0x0
+Inf < int_min : 0x0
+Inf < uint_max : 0x0
+Inf < ulong_max : 0x0
+Inf < double_min : 0x0
+Inf < double_max : 0x0
+Inf < float_min : 0x0
+Inf < float_max : 0x0
+Inf >= zero_min : 0x1
+Inf >= zero_plus : 0x1
+Inf >= zero : 0x1
+Inf >= NaN : 0x0
+Inf >= Inf_plus : 0x1
+Inf >= Inf_min : 0x1
+Inf >= Inf : 0x1
+Inf >= long_max : 0x1
+Inf >= long_min : 0x1
+Inf >= int_max : 0x1
+Inf >= int_min : 0x1
+Inf >= uint_max : 0x1
+Inf >= ulong_max : 0x1
+Inf >= double_min : 0x1
+Inf >= double_max : 0x1
+Inf >= float_min : 0x1
+Inf >= float_max : 0x1
+Inf <= zero_min : 0x0
+Inf <= zero_plus : 0x0
+Inf <= zero : 0x0
+Inf <= NaN : 0x0
+Inf <= Inf_plus : 0x1
+Inf <= Inf_min : 0x0
+Inf <= Inf : 0x1
+Inf <= long_max : 0x0
+Inf <= long_min : 0x0
+Inf <= int_max : 0x0
+Inf <= int_min : 0x0
+Inf <= uint_max : 0x0
+Inf <= ulong_max : 0x0
+Inf <= double_min : 0x0
+Inf <= double_max : 0x0
+Inf <= float_min : 0x0
+Inf <= float_max : 0x0
+Inf == zero_min : 0x0
+Inf == zero_plus : 0x0
+Inf == zero : 0x0
+Inf == NaN : 0x0
+Inf == Inf_plus : 0x1
+Inf == Inf_min : 0x0
+Inf == Inf : 0x1
+Inf == long_max : 0x0
+Inf == long_min : 0x0
+Inf == int_max : 0x0
+Inf == int_min : 0x0
+Inf == uint_max : 0x0
+Inf == ulong_max : 0x0
+Inf == double_min : 0x0
+Inf == double_max : 0x0
+Inf == float_min : 0x0
+Inf == float_max : 0x0
+Inf != zero_min : 0x1
+Inf != zero_plus : 0x1
+Inf != zero : 0x1
+Inf != NaN : 0x1
+Inf != Inf_plus : 0x0
+Inf != Inf_min : 0x1
+Inf != Inf : 0x0
+Inf != long_max : 0x1
+Inf != long_min : 0x1
+Inf != int_max : 0x1
+Inf != int_min : 0x1
+Inf != uint_max : 0x1
+Inf != ulong_max : 0x1
+Inf != double_min : 0x1
+Inf != double_max : 0x1
+Inf != float_min : 0x1
+Inf != float_max : 0x1
+Inf * Inf * zero_min : NaN
+Inf * Inf * zero_plus : NaN
+Inf * Inf * zero : NaN
+Inf * Inf * NaN : NaN
+Inf * Inf * Inf_plus : Inf
+Inf * Inf * Inf_min : -Inf
+Inf * Inf * Inf : Inf
+Inf * Inf * long_max : Inf
+Inf * Inf * long_min : -Inf
+Inf * Inf * int_max : Inf
+Inf * Inf * int_min : -Inf
+Inf * Inf * uint_max : Inf
+Inf * Inf * ulong_max : Inf
+Inf * Inf * double_min : Inf
+Inf * Inf * double_max : Inf
+Inf * Inf * float_min : Inf
+Inf * Inf * float_max : Inf
+****************** limits fx_float_long
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x7fffffff
+long_min : 0x8e+7
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+long_max / zero_min : -Inf
+long_max / zero_plus : Inf
+long_max / zero : Inf
+long_max / NaN : NaN
+long_max / Inf_plus : 0x0
+long_max / Inf_min : 0x0
+long_max / Inf : 0x0
+long_max / long_max : 0x1
+long_max / long_min : 0xf.00000002
+long_max / int_max : 0x1
+long_max / int_min : 0xf.00000002
+long_max / uint_max : 0x.7fffffff8
+long_max / ulong_max : 0x.7fffffff8
+long_max / double_min : Inf
+long_max / double_max : 0x.7fffffff000004e-248
+long_max / float_min : 0x1fffffffce+31
+long_max / float_max : 0x.08000007f00008e-23
+long_max * zero_min : 0x0
+long_max * zero_plus : 0x0
+long_max * zero : 0x0
+long_max * NaN : NaN
+long_max * Inf_plus : Inf
+long_max * Inf_min : -Inf
+long_max * Inf : Inf
+long_max * long_max : 0x3fffffffe+8
+long_max * long_min : 0xc00000008e+7
+long_max * int_max : 0x3fffffffe+8
+long_max * int_min : 0xc00000008e+7
+long_max * uint_max : 0x7ffffffe8e+7
+long_max * ulong_max : 0x7ffffffe8e+7
+long_max * double_min : 0x.1fffffffce-247
+long_max * double_max : Inf
+long_max * float_min : 0x.1fffffffce-23
+long_max * float_max : 0x7fffff7fe+32
+long_max + zero_min : 0x7fffffff
+long_max + zero_plus : 0x7fffffff
+long_max + zero : 0x7fffffff
+long_max + NaN : NaN
+long_max + Inf_plus : Inf
+long_max + Inf_min : -Inf
+long_max + Inf : Inf
+long_max + long_max : 0x0fffffffe
+long_max + long_min : 0xf
+long_max + int_max : 0x0fffffffe
+long_max + int_min : 0xf
+long_max + uint_max : 0x17ffffffe
+long_max + ulong_max : 0x17ffffffe
+long_max + double_min : 0x7fffffff
+long_max + double_max : 0x0fffffffffffff8e+242
+long_max + float_min : 0x7fffffff
+long_max + float_max : 0x0ffffffe+26
+long_max - zero_min : 0x7fffffff
+long_max - zero_plus : 0x7fffffff
+long_max - zero : 0x7fffffff
+long_max - NaN : NaN
+long_max - Inf_plus : -Inf
+long_max - Inf_min : Inf
+long_max - Inf : -Inf
+long_max - long_max : 0x0
+long_max - long_min : 0x0ffffffff
+long_max - int_max : 0x0
+long_max - int_min : 0x0ffffffff
+long_max - uint_max : 0x8e+7
+long_max - ulong_max : 0x8e+7
+long_max - double_min : 0x7fffffff
+long_max - double_max : 0xf00000000000008e+242
+long_max - float_min : 0x7fffffff
+long_max - float_max : 0xf000001e+26
+long_max > zero_min : 0x1
+long_max > zero_plus : 0x1
+long_max > zero : 0x1
+long_max > NaN : 0x0
+long_max > Inf_plus : 0x0
+long_max > Inf_min : 0x1
+long_max > Inf : 0x0
+long_max > long_max : 0x0
+long_max > long_min : 0x1
+long_max > int_max : 0x0
+long_max > int_min : 0x1
+long_max > uint_max : 0x0
+long_max > ulong_max : 0x0
+long_max > double_min : 0x1
+long_max > double_max : 0x0
+long_max > float_min : 0x1
+long_max > float_max : 0x0
+long_max < zero_min : 0x0
+long_max < zero_plus : 0x0
+long_max < zero : 0x0
+long_max < NaN : 0x0
+long_max < Inf_plus : 0x1
+long_max < Inf_min : 0x0
+long_max < Inf : 0x1
+long_max < long_max : 0x0
+long_max < long_min : 0x0
+long_max < int_max : 0x0
+long_max < int_min : 0x0
+long_max < uint_max : 0x1
+long_max < ulong_max : 0x1
+long_max < double_min : 0x0
+long_max < double_max : 0x1
+long_max < float_min : 0x0
+long_max < float_max : 0x1
+long_max >= zero_min : 0x1
+long_max >= zero_plus : 0x1
+long_max >= zero : 0x1
+long_max >= NaN : 0x0
+long_max >= Inf_plus : 0x0
+long_max >= Inf_min : 0x1
+long_max >= Inf : 0x0
+long_max >= long_max : 0x1
+long_max >= long_min : 0x1
+long_max >= int_max : 0x1
+long_max >= int_min : 0x1
+long_max >= uint_max : 0x0
+long_max >= ulong_max : 0x0
+long_max >= double_min : 0x1
+long_max >= double_max : 0x0
+long_max >= float_min : 0x1
+long_max >= float_max : 0x0
+long_max <= zero_min : 0x0
+long_max <= zero_plus : 0x0
+long_max <= zero : 0x0
+long_max <= NaN : 0x0
+long_max <= Inf_plus : 0x1
+long_max <= Inf_min : 0x0
+long_max <= Inf : 0x1
+long_max <= long_max : 0x1
+long_max <= long_min : 0x0
+long_max <= int_max : 0x1
+long_max <= int_min : 0x0
+long_max <= uint_max : 0x1
+long_max <= ulong_max : 0x1
+long_max <= double_min : 0x0
+long_max <= double_max : 0x1
+long_max <= float_min : 0x0
+long_max <= float_max : 0x1
+long_max == zero_min : 0x0
+long_max == zero_plus : 0x0
+long_max == zero : 0x0
+long_max == NaN : 0x0
+long_max == Inf_plus : 0x0
+long_max == Inf_min : 0x0
+long_max == Inf : 0x0
+long_max == long_max : 0x1
+long_max == long_min : 0x0
+long_max == int_max : 0x1
+long_max == int_min : 0x0
+long_max == uint_max : 0x0
+long_max == ulong_max : 0x0
+long_max == double_min : 0x0
+long_max == double_max : 0x0
+long_max == float_min : 0x0
+long_max == float_max : 0x0
+long_max != zero_min : 0x1
+long_max != zero_plus : 0x1
+long_max != zero : 0x1
+long_max != NaN : 0x1
+long_max != Inf_plus : 0x1
+long_max != Inf_min : 0x1
+long_max != Inf : 0x1
+long_max != long_max : 0x0
+long_max != long_min : 0x1
+long_max != int_max : 0x0
+long_max != int_min : 0x1
+long_max != uint_max : 0x1
+long_max != ulong_max : 0x1
+long_max != double_min : 0x1
+long_max != double_max : 0x1
+long_max != float_min : 0x1
+long_max != float_max : 0x1
+long_max * long_max * zero_min : 0x0
+long_max * long_max * zero_plus : 0x0
+long_max * long_max * zero : 0x0
+long_max * long_max * NaN : NaN
+long_max * long_max * Inf_plus : Inf
+long_max * long_max * Inf_min : -Inf
+long_max * long_max * Inf : Inf
+long_max * long_max * long_max : 0x1fffffff4e+15
+long_max * long_max * long_min : 0xe00000008e+15
+long_max * long_max * int_max : 0x1fffffff4e+15
+long_max * long_max * int_min : 0xe00000008e+15
+long_max * long_max * uint_max : 0x3ffffffece+15
+long_max * long_max * ulong_max : 0x3ffffffece+15
+long_max * long_max * double_min : 0x.0fffffffce-239
+long_max * long_max * double_max : Inf
+long_max * long_max * float_min : 0x.0fffffffce-15
+long_max * long_max * float_max : 0x3fffffbfe+40
+long_min / zero_min : Inf
+long_min / zero_plus : -Inf
+long_min / zero : -Inf
+long_min / NaN : NaN
+long_min / Inf_plus : 0x0
+long_min / Inf_min : 0x0
+long_min / Inf : 0x0
+long_min / long_max : 0xe.fffffffe
+long_min / long_min : 0x1
+long_min / int_max : 0xe.fffffffe
+long_min / int_min : 0x1
+long_min / uint_max : 0xf.7fffffff8
+long_min / ulong_max : 0xf.7fffffff8
+long_min / double_min : -Inf
+long_min / double_max : 0x.8e-248
+long_min / float_min : 0xee+39
+long_min / float_max : 0x.f7fffff7fffff8e-23
+long_min * zero_min : 0x0
+long_min * zero_plus : 0x0
+long_min * zero : 0x0
+long_min * NaN : NaN
+long_min * Inf_plus : -Inf
+long_min * Inf_min : Inf
+long_min * Inf : -Inf
+long_min * long_max : 0xc00000008e+7
+long_min * long_min : 0x4e+15
+long_min * int_max : 0xc00000008e+7
+long_min * int_min : 0x4e+15
+long_min * uint_max : 0x800000008e+7
+long_min * ulong_max : 0x800000008e+7
+long_min * double_min : 0x.ee-247
+long_min * double_max : -Inf
+long_min * float_min : 0x.ee-23
+long_min * float_max : 0x8000008e+33
+long_min + zero_min : 0x8e+7
+long_min + zero_plus : 0x8e+7
+long_min + zero : 0x8e+7
+long_min + NaN : NaN
+long_min + Inf_plus : Inf
+long_min + Inf_min : -Inf
+long_min + Inf : Inf
+long_min + long_max : 0xf
+long_min + long_min : 0xfe+8
+long_min + int_max : 0xf
+long_min + int_min : 0xfe+8
+long_min + uint_max : 0x7fffffff
+long_min + ulong_max : 0x7fffffff
+long_min + double_min : 0x8e+7
+long_min + double_max : 0x0fffffffffffff8e+242
+long_min + float_min : 0x8e+7
+long_min + float_max : 0x0ffffffe+26
+long_min - zero_min : 0x8e+7
+long_min - zero_plus : 0x8e+7
+long_min - zero : 0x8e+7
+long_min - NaN : NaN
+long_min - Inf_plus : -Inf
+long_min - Inf_min : Inf
+long_min - Inf : -Inf
+long_min - long_max : 0xf00000001
+long_min - long_min : 0x0
+long_min - int_max : 0xf00000001
+long_min - int_min : 0x0
+long_min - uint_max : 0xe80000001
+long_min - ulong_max : 0xe80000001
+long_min - double_min : 0x8e+7
+long_min - double_max : 0xf00000000000008e+242
+long_min - float_min : 0x8e+7
+long_min - float_max : 0xf000001e+26
+long_min > zero_min : 0x0
+long_min > zero_plus : 0x0
+long_min > zero : 0x0
+long_min > NaN : 0x0
+long_min > Inf_plus : 0x0
+long_min > Inf_min : 0x1
+long_min > Inf : 0x0
+long_min > long_max : 0x0
+long_min > long_min : 0x0
+long_min > int_max : 0x0
+long_min > int_min : 0x0
+long_min > uint_max : 0x0
+long_min > ulong_max : 0x0
+long_min > double_min : 0x0
+long_min > double_max : 0x0
+long_min > float_min : 0x0
+long_min > float_max : 0x0
+long_min < zero_min : 0x1
+long_min < zero_plus : 0x1
+long_min < zero : 0x1
+long_min < NaN : 0x0
+long_min < Inf_plus : 0x1
+long_min < Inf_min : 0x0
+long_min < Inf : 0x1
+long_min < long_max : 0x1
+long_min < long_min : 0x0
+long_min < int_max : 0x1
+long_min < int_min : 0x0
+long_min < uint_max : 0x1
+long_min < ulong_max : 0x1
+long_min < double_min : 0x1
+long_min < double_max : 0x1
+long_min < float_min : 0x1
+long_min < float_max : 0x1
+long_min >= zero_min : 0x0
+long_min >= zero_plus : 0x0
+long_min >= zero : 0x0
+long_min >= NaN : 0x0
+long_min >= Inf_plus : 0x0
+long_min >= Inf_min : 0x1
+long_min >= Inf : 0x0
+long_min >= long_max : 0x0
+long_min >= long_min : 0x1
+long_min >= int_max : 0x0
+long_min >= int_min : 0x1
+long_min >= uint_max : 0x0
+long_min >= ulong_max : 0x0
+long_min >= double_min : 0x0
+long_min >= double_max : 0x0
+long_min >= float_min : 0x0
+long_min >= float_max : 0x0
+long_min <= zero_min : 0x1
+long_min <= zero_plus : 0x1
+long_min <= zero : 0x1
+long_min <= NaN : 0x0
+long_min <= Inf_plus : 0x1
+long_min <= Inf_min : 0x0
+long_min <= Inf : 0x1
+long_min <= long_max : 0x1
+long_min <= long_min : 0x1
+long_min <= int_max : 0x1
+long_min <= int_min : 0x1
+long_min <= uint_max : 0x1
+long_min <= ulong_max : 0x1
+long_min <= double_min : 0x1
+long_min <= double_max : 0x1
+long_min <= float_min : 0x1
+long_min <= float_max : 0x1
+long_min == zero_min : 0x0
+long_min == zero_plus : 0x0
+long_min == zero : 0x0
+long_min == NaN : 0x0
+long_min == Inf_plus : 0x0
+long_min == Inf_min : 0x0
+long_min == Inf : 0x0
+long_min == long_max : 0x0
+long_min == long_min : 0x1
+long_min == int_max : 0x0
+long_min == int_min : 0x1
+long_min == uint_max : 0x0
+long_min == ulong_max : 0x0
+long_min == double_min : 0x0
+long_min == double_max : 0x0
+long_min == float_min : 0x0
+long_min == float_max : 0x0
+long_min != zero_min : 0x1
+long_min != zero_plus : 0x1
+long_min != zero : 0x1
+long_min != NaN : 0x1
+long_min != Inf_plus : 0x1
+long_min != Inf_min : 0x1
+long_min != Inf : 0x1
+long_min != long_max : 0x1
+long_min != long_min : 0x0
+long_min != int_max : 0x1
+long_min != int_min : 0x0
+long_min != uint_max : 0x1
+long_min != ulong_max : 0x1
+long_min != double_min : 0x1
+long_min != double_max : 0x1
+long_min != float_min : 0x1
+long_min != float_max : 0x1
+long_min * long_min * zero_min : 0x0
+long_min * long_min * zero_plus : 0x0
+long_min * long_min * zero : 0x0
+long_min * long_min * NaN : NaN
+long_min * long_min * Inf_plus : Inf
+long_min * long_min * Inf_min : -Inf
+long_min * long_min * Inf : Inf
+long_min * long_min * long_max : 0x1fffffffce+15
+long_min * long_min * long_min : 0xee+23
+long_min * long_min * int_max : 0x1fffffffce+15
+long_min * long_min * int_min : 0xee+23
+long_min * long_min * uint_max : 0x3fffffffce+15
+long_min * long_min * ulong_max : 0x3fffffffce+15
+long_min * long_min * double_min : 0x.1e-239
+long_min * long_min * double_max : Inf
+long_min * long_min * float_min : 0x.1e-15
+long_min * long_min * float_max : 0x3fffffce+41
+int_max / zero_min : -Inf
+int_max / zero_plus : Inf
+int_max / zero : Inf
+int_max / NaN : NaN
+int_max / Inf_plus : 0x0
+int_max / Inf_min : 0x0
+int_max / Inf : 0x0
+int_max / long_max : 0x1
+int_max / long_min : 0xf.00000002
+int_max / int_max : 0x1
+int_max / int_min : 0xf.00000002
+int_max / uint_max : 0x.7fffffff8
+int_max / ulong_max : 0x.7fffffff8
+int_max / double_min : Inf
+int_max / double_max : 0x.7fffffff000004e-248
+int_max / float_min : 0x1fffffffce+31
+int_max / float_max : 0x.08000007f00008e-23
+int_max * zero_min : 0x0
+int_max * zero_plus : 0x0
+int_max * zero : 0x0
+int_max * NaN : NaN
+int_max * Inf_plus : Inf
+int_max * Inf_min : -Inf
+int_max * Inf : Inf
+int_max * long_max : 0x3fffffffe+8
+int_max * long_min : 0xc00000008e+7
+int_max * int_max : 0x3fffffffe+8
+int_max * int_min : 0xc00000008e+7
+int_max * uint_max : 0x7ffffffe8e+7
+int_max * ulong_max : 0x7ffffffe8e+7
+int_max * double_min : 0x.1fffffffce-247
+int_max * double_max : Inf
+int_max * float_min : 0x.1fffffffce-23
+int_max * float_max : 0x7fffff7fe+32
+int_max + zero_min : 0x7fffffff
+int_max + zero_plus : 0x7fffffff
+int_max + zero : 0x7fffffff
+int_max + NaN : NaN
+int_max + Inf_plus : Inf
+int_max + Inf_min : -Inf
+int_max + Inf : Inf
+int_max + long_max : 0x0fffffffe
+int_max + long_min : 0xf
+int_max + int_max : 0x0fffffffe
+int_max + int_min : 0xf
+int_max + uint_max : 0x17ffffffe
+int_max + ulong_max : 0x17ffffffe
+int_max + double_min : 0x7fffffff
+int_max + double_max : 0x0fffffffffffff8e+242
+int_max + float_min : 0x7fffffff
+int_max + float_max : 0x0ffffffe+26
+int_max - zero_min : 0x7fffffff
+int_max - zero_plus : 0x7fffffff
+int_max - zero : 0x7fffffff
+int_max - NaN : NaN
+int_max - Inf_plus : -Inf
+int_max - Inf_min : Inf
+int_max - Inf : -Inf
+int_max - long_max : 0x0
+int_max - long_min : 0x0ffffffff
+int_max - int_max : 0x0
+int_max - int_min : 0x0ffffffff
+int_max - uint_max : 0x8e+7
+int_max - ulong_max : 0x8e+7
+int_max - double_min : 0x7fffffff
+int_max - double_max : 0xf00000000000008e+242
+int_max - float_min : 0x7fffffff
+int_max - float_max : 0xf000001e+26
+int_max > zero_min : 0x1
+int_max > zero_plus : 0x1
+int_max > zero : 0x1
+int_max > NaN : 0x0
+int_max > Inf_plus : 0x0
+int_max > Inf_min : 0x1
+int_max > Inf : 0x0
+int_max > long_max : 0x0
+int_max > long_min : 0x1
+int_max > int_max : 0x0
+int_max > int_min : 0x1
+int_max > uint_max : 0x0
+int_max > ulong_max : 0x0
+int_max > double_min : 0x1
+int_max > double_max : 0x0
+int_max > float_min : 0x1
+int_max > float_max : 0x0
+int_max < zero_min : 0x0
+int_max < zero_plus : 0x0
+int_max < zero : 0x0
+int_max < NaN : 0x0
+int_max < Inf_plus : 0x1
+int_max < Inf_min : 0x0
+int_max < Inf : 0x1
+int_max < long_max : 0x0
+int_max < long_min : 0x0
+int_max < int_max : 0x0
+int_max < int_min : 0x0
+int_max < uint_max : 0x1
+int_max < ulong_max : 0x1
+int_max < double_min : 0x0
+int_max < double_max : 0x1
+int_max < float_min : 0x0
+int_max < float_max : 0x1
+int_max >= zero_min : 0x1
+int_max >= zero_plus : 0x1
+int_max >= zero : 0x1
+int_max >= NaN : 0x0
+int_max >= Inf_plus : 0x0
+int_max >= Inf_min : 0x1
+int_max >= Inf : 0x0
+int_max >= long_max : 0x1
+int_max >= long_min : 0x1
+int_max >= int_max : 0x1
+int_max >= int_min : 0x1
+int_max >= uint_max : 0x0
+int_max >= ulong_max : 0x0
+int_max >= double_min : 0x1
+int_max >= double_max : 0x0
+int_max >= float_min : 0x1
+int_max >= float_max : 0x0
+int_max <= zero_min : 0x0
+int_max <= zero_plus : 0x0
+int_max <= zero : 0x0
+int_max <= NaN : 0x0
+int_max <= Inf_plus : 0x1
+int_max <= Inf_min : 0x0
+int_max <= Inf : 0x1
+int_max <= long_max : 0x1
+int_max <= long_min : 0x0
+int_max <= int_max : 0x1
+int_max <= int_min : 0x0
+int_max <= uint_max : 0x1
+int_max <= ulong_max : 0x1
+int_max <= double_min : 0x0
+int_max <= double_max : 0x1
+int_max <= float_min : 0x0
+int_max <= float_max : 0x1
+int_max == zero_min : 0x0
+int_max == zero_plus : 0x0
+int_max == zero : 0x0
+int_max == NaN : 0x0
+int_max == Inf_plus : 0x0
+int_max == Inf_min : 0x0
+int_max == Inf : 0x0
+int_max == long_max : 0x1
+int_max == long_min : 0x0
+int_max == int_max : 0x1
+int_max == int_min : 0x0
+int_max == uint_max : 0x0
+int_max == ulong_max : 0x0
+int_max == double_min : 0x0
+int_max == double_max : 0x0
+int_max == float_min : 0x0
+int_max == float_max : 0x0
+int_max != zero_min : 0x1
+int_max != zero_plus : 0x1
+int_max != zero : 0x1
+int_max != NaN : 0x1
+int_max != Inf_plus : 0x1
+int_max != Inf_min : 0x1
+int_max != Inf : 0x1
+int_max != long_max : 0x0
+int_max != long_min : 0x1
+int_max != int_max : 0x0
+int_max != int_min : 0x1
+int_max != uint_max : 0x1
+int_max != ulong_max : 0x1
+int_max != double_min : 0x1
+int_max != double_max : 0x1
+int_max != float_min : 0x1
+int_max != float_max : 0x1
+int_max * int_max * zero_min : 0x0
+int_max * int_max * zero_plus : 0x0
+int_max * int_max * zero : 0x0
+int_max * int_max * NaN : NaN
+int_max * int_max * Inf_plus : Inf
+int_max * int_max * Inf_min : -Inf
+int_max * int_max * Inf : Inf
+int_max * int_max * long_max : 0x1fffffff4e+15
+int_max * int_max * long_min : 0xe00000008e+15
+int_max * int_max * int_max : 0x1fffffff4e+15
+int_max * int_max * int_min : 0xe00000008e+15
+int_max * int_max * uint_max : 0x3ffffffece+15
+int_max * int_max * ulong_max : 0x3ffffffece+15
+int_max * int_max * double_min : 0x.0fffffffce-239
+int_max * int_max * double_max : Inf
+int_max * int_max * float_min : 0x.0fffffffce-15
+int_max * int_max * float_max : 0x3fffffbfe+40
+int_min / zero_min : Inf
+int_min / zero_plus : -Inf
+int_min / zero : -Inf
+int_min / NaN : NaN
+int_min / Inf_plus : 0x0
+int_min / Inf_min : 0x0
+int_min / Inf : 0x0
+int_min / long_max : 0xe.fffffffe
+int_min / long_min : 0x1
+int_min / int_max : 0xe.fffffffe
+int_min / int_min : 0x1
+int_min / uint_max : 0xf.7fffffff8
+int_min / ulong_max : 0xf.7fffffff8
+int_min / double_min : -Inf
+int_min / double_max : 0x.8e-248
+int_min / float_min : 0xee+39
+int_min / float_max : 0x.f7fffff7fffff8e-23
+int_min * zero_min : 0x0
+int_min * zero_plus : 0x0
+int_min * zero : 0x0
+int_min * NaN : NaN
+int_min * Inf_plus : -Inf
+int_min * Inf_min : Inf
+int_min * Inf : -Inf
+int_min * long_max : 0xc00000008e+7
+int_min * long_min : 0x4e+15
+int_min * int_max : 0xc00000008e+7
+int_min * int_min : 0x4e+15
+int_min * uint_max : 0x800000008e+7
+int_min * ulong_max : 0x800000008e+7
+int_min * double_min : 0x.ee-247
+int_min * double_max : -Inf
+int_min * float_min : 0x.ee-23
+int_min * float_max : 0x8000008e+33
+int_min + zero_min : 0x8e+7
+int_min + zero_plus : 0x8e+7
+int_min + zero : 0x8e+7
+int_min + NaN : NaN
+int_min + Inf_plus : Inf
+int_min + Inf_min : -Inf
+int_min + Inf : Inf
+int_min + long_max : 0xf
+int_min + long_min : 0xfe+8
+int_min + int_max : 0xf
+int_min + int_min : 0xfe+8
+int_min + uint_max : 0x7fffffff
+int_min + ulong_max : 0x7fffffff
+int_min + double_min : 0x8e+7
+int_min + double_max : 0x0fffffffffffff8e+242
+int_min + float_min : 0x8e+7
+int_min + float_max : 0x0ffffffe+26
+int_min - zero_min : 0x8e+7
+int_min - zero_plus : 0x8e+7
+int_min - zero : 0x8e+7
+int_min - NaN : NaN
+int_min - Inf_plus : -Inf
+int_min - Inf_min : Inf
+int_min - Inf : -Inf
+int_min - long_max : 0xf00000001
+int_min - long_min : 0x0
+int_min - int_max : 0xf00000001
+int_min - int_min : 0x0
+int_min - uint_max : 0xe80000001
+int_min - ulong_max : 0xe80000001
+int_min - double_min : 0x8e+7
+int_min - double_max : 0xf00000000000008e+242
+int_min - float_min : 0x8e+7
+int_min - float_max : 0xf000001e+26
+int_min > zero_min : 0x0
+int_min > zero_plus : 0x0
+int_min > zero : 0x0
+int_min > NaN : 0x0
+int_min > Inf_plus : 0x0
+int_min > Inf_min : 0x1
+int_min > Inf : 0x0
+int_min > long_max : 0x0
+int_min > long_min : 0x0
+int_min > int_max : 0x0
+int_min > int_min : 0x0
+int_min > uint_max : 0x0
+int_min > ulong_max : 0x0
+int_min > double_min : 0x0
+int_min > double_max : 0x0
+int_min > float_min : 0x0
+int_min > float_max : 0x0
+int_min < zero_min : 0x1
+int_min < zero_plus : 0x1
+int_min < zero : 0x1
+int_min < NaN : 0x0
+int_min < Inf_plus : 0x1
+int_min < Inf_min : 0x0
+int_min < Inf : 0x1
+int_min < long_max : 0x1
+int_min < long_min : 0x0
+int_min < int_max : 0x1
+int_min < int_min : 0x0
+int_min < uint_max : 0x1
+int_min < ulong_max : 0x1
+int_min < double_min : 0x1
+int_min < double_max : 0x1
+int_min < float_min : 0x1
+int_min < float_max : 0x1
+int_min >= zero_min : 0x0
+int_min >= zero_plus : 0x0
+int_min >= zero : 0x0
+int_min >= NaN : 0x0
+int_min >= Inf_plus : 0x0
+int_min >= Inf_min : 0x1
+int_min >= Inf : 0x0
+int_min >= long_max : 0x0
+int_min >= long_min : 0x1
+int_min >= int_max : 0x0
+int_min >= int_min : 0x1
+int_min >= uint_max : 0x0
+int_min >= ulong_max : 0x0
+int_min >= double_min : 0x0
+int_min >= double_max : 0x0
+int_min >= float_min : 0x0
+int_min >= float_max : 0x0
+int_min <= zero_min : 0x1
+int_min <= zero_plus : 0x1
+int_min <= zero : 0x1
+int_min <= NaN : 0x0
+int_min <= Inf_plus : 0x1
+int_min <= Inf_min : 0x0
+int_min <= Inf : 0x1
+int_min <= long_max : 0x1
+int_min <= long_min : 0x1
+int_min <= int_max : 0x1
+int_min <= int_min : 0x1
+int_min <= uint_max : 0x1
+int_min <= ulong_max : 0x1
+int_min <= double_min : 0x1
+int_min <= double_max : 0x1
+int_min <= float_min : 0x1
+int_min <= float_max : 0x1
+int_min == zero_min : 0x0
+int_min == zero_plus : 0x0
+int_min == zero : 0x0
+int_min == NaN : 0x0
+int_min == Inf_plus : 0x0
+int_min == Inf_min : 0x0
+int_min == Inf : 0x0
+int_min == long_max : 0x0
+int_min == long_min : 0x1
+int_min == int_max : 0x0
+int_min == int_min : 0x1
+int_min == uint_max : 0x0
+int_min == ulong_max : 0x0
+int_min == double_min : 0x0
+int_min == double_max : 0x0
+int_min == float_min : 0x0
+int_min == float_max : 0x0
+int_min != zero_min : 0x1
+int_min != zero_plus : 0x1
+int_min != zero : 0x1
+int_min != NaN : 0x1
+int_min != Inf_plus : 0x1
+int_min != Inf_min : 0x1
+int_min != Inf : 0x1
+int_min != long_max : 0x1
+int_min != long_min : 0x0
+int_min != int_max : 0x1
+int_min != int_min : 0x0
+int_min != uint_max : 0x1
+int_min != ulong_max : 0x1
+int_min != double_min : 0x1
+int_min != double_max : 0x1
+int_min != float_min : 0x1
+int_min != float_max : 0x1
+int_min * int_min * zero_min : 0x0
+int_min * int_min * zero_plus : 0x0
+int_min * int_min * zero : 0x0
+int_min * int_min * NaN : NaN
+int_min * int_min * Inf_plus : Inf
+int_min * int_min * Inf_min : -Inf
+int_min * int_min * Inf : Inf
+int_min * int_min * long_max : 0x1fffffffce+15
+int_min * int_min * long_min : 0xee+23
+int_min * int_min * int_max : 0x1fffffffce+15
+int_min * int_min * int_min : 0xee+23
+int_min * int_min * uint_max : 0x3fffffffce+15
+int_min * int_min * ulong_max : 0x3fffffffce+15
+int_min * int_min * double_min : 0x.1e-239
+int_min * int_min * double_max : Inf
+int_min * int_min * float_min : 0x.1e-15
+int_min * int_min * float_max : 0x3fffffce+41
+uint_max / zero_min : -Inf
+uint_max / zero_plus : Inf
+uint_max / zero : Inf
+uint_max / NaN : NaN
+uint_max / Inf_plus : 0x0
+uint_max / Inf_min : 0x0
+uint_max / Inf : 0x0
+uint_max / long_max : 0x2.00000002
+uint_max / long_min : 0xe.00000002
+uint_max / int_max : 0x2.00000002
+uint_max / int_min : 0xe.00000002
+uint_max / uint_max : 0x1
+uint_max / ulong_max : 0x1
+uint_max / double_min : Inf
+uint_max / double_max : 0x.0ffffffff000008e-247
+uint_max / float_min : 0x3fffffffce+31
+uint_max / float_max : 0x.1000000ff0001e-23
+uint_max * zero_min : 0x0
+uint_max * zero_plus : 0x0
+uint_max * zero : 0x0
+uint_max * NaN : NaN
+uint_max * Inf_plus : Inf
+uint_max * Inf_min : -Inf
+uint_max * Inf : Inf
+uint_max * long_max : 0x7ffffffe8e+7
+uint_max * long_min : 0x800000008e+7
+uint_max * int_max : 0x7ffffffe8e+7
+uint_max * int_min : 0x800000008e+7
+uint_max * uint_max : 0x0fffffffee+8
+uint_max * ulong_max : 0x0fffffffee+8
+uint_max * double_min : 0x.3fffffffce-247
+uint_max * double_max : Inf
+uint_max * float_min : 0x.3fffffffce-23
+uint_max * float_max : 0x0fffffeffe+32
+uint_max + zero_min : 0x0ffffffff
+uint_max + zero_plus : 0x0ffffffff
+uint_max + zero : 0x0ffffffff
+uint_max + NaN : NaN
+uint_max + Inf_plus : Inf
+uint_max + Inf_min : -Inf
+uint_max + Inf : Inf
+uint_max + long_max : 0x17ffffffe
+uint_max + long_min : 0x7fffffff
+uint_max + int_max : 0x17ffffffe
+uint_max + int_min : 0x7fffffff
+uint_max + uint_max : 0x1fffffffe
+uint_max + ulong_max : 0x1fffffffe
+uint_max + double_min : 0x0ffffffff
+uint_max + double_max : 0x0fffffffffffff8e+242
+uint_max + float_min : 0x0ffffffff
+uint_max + float_max : 0x0ffffffe+26
+uint_max - zero_min : 0x0ffffffff
+uint_max - zero_plus : 0x0ffffffff
+uint_max - zero : 0x0ffffffff
+uint_max - NaN : NaN
+uint_max - Inf_plus : -Inf
+uint_max - Inf_min : Inf
+uint_max - Inf : -Inf
+uint_max - long_max : 0x08e+7
+uint_max - long_min : 0x17fffffff
+uint_max - int_max : 0x08e+7
+uint_max - int_min : 0x17fffffff
+uint_max - uint_max : 0x0
+uint_max - ulong_max : 0x0
+uint_max - double_min : 0x0ffffffff
+uint_max - double_max : 0xf00000000000008e+242
+uint_max - float_min : 0x0ffffffff
+uint_max - float_max : 0xf000001e+26
+uint_max > zero_min : 0x1
+uint_max > zero_plus : 0x1
+uint_max > zero : 0x1
+uint_max > NaN : 0x0
+uint_max > Inf_plus : 0x0
+uint_max > Inf_min : 0x1
+uint_max > Inf : 0x0
+uint_max > long_max : 0x1
+uint_max > long_min : 0x1
+uint_max > int_max : 0x1
+uint_max > int_min : 0x1
+uint_max > uint_max : 0x0
+uint_max > ulong_max : 0x0
+uint_max > double_min : 0x1
+uint_max > double_max : 0x0
+uint_max > float_min : 0x1
+uint_max > float_max : 0x0
+uint_max < zero_min : 0x0
+uint_max < zero_plus : 0x0
+uint_max < zero : 0x0
+uint_max < NaN : 0x0
+uint_max < Inf_plus : 0x1
+uint_max < Inf_min : 0x0
+uint_max < Inf : 0x1
+uint_max < long_max : 0x0
+uint_max < long_min : 0x0
+uint_max < int_max : 0x0
+uint_max < int_min : 0x0
+uint_max < uint_max : 0x0
+uint_max < ulong_max : 0x0
+uint_max < double_min : 0x0
+uint_max < double_max : 0x1
+uint_max < float_min : 0x0
+uint_max < float_max : 0x1
+uint_max >= zero_min : 0x1
+uint_max >= zero_plus : 0x1
+uint_max >= zero : 0x1
+uint_max >= NaN : 0x0
+uint_max >= Inf_plus : 0x0
+uint_max >= Inf_min : 0x1
+uint_max >= Inf : 0x0
+uint_max >= long_max : 0x1
+uint_max >= long_min : 0x1
+uint_max >= int_max : 0x1
+uint_max >= int_min : 0x1
+uint_max >= uint_max : 0x1
+uint_max >= ulong_max : 0x1
+uint_max >= double_min : 0x1
+uint_max >= double_max : 0x0
+uint_max >= float_min : 0x1
+uint_max >= float_max : 0x0
+uint_max <= zero_min : 0x0
+uint_max <= zero_plus : 0x0
+uint_max <= zero : 0x0
+uint_max <= NaN : 0x0
+uint_max <= Inf_plus : 0x1
+uint_max <= Inf_min : 0x0
+uint_max <= Inf : 0x1
+uint_max <= long_max : 0x0
+uint_max <= long_min : 0x0
+uint_max <= int_max : 0x0
+uint_max <= int_min : 0x0
+uint_max <= uint_max : 0x1
+uint_max <= ulong_max : 0x1
+uint_max <= double_min : 0x0
+uint_max <= double_max : 0x1
+uint_max <= float_min : 0x0
+uint_max <= float_max : 0x1
+uint_max == zero_min : 0x0
+uint_max == zero_plus : 0x0
+uint_max == zero : 0x0
+uint_max == NaN : 0x0
+uint_max == Inf_plus : 0x0
+uint_max == Inf_min : 0x0
+uint_max == Inf : 0x0
+uint_max == long_max : 0x0
+uint_max == long_min : 0x0
+uint_max == int_max : 0x0
+uint_max == int_min : 0x0
+uint_max == uint_max : 0x1
+uint_max == ulong_max : 0x1
+uint_max == double_min : 0x0
+uint_max == double_max : 0x0
+uint_max == float_min : 0x0
+uint_max == float_max : 0x0
+uint_max != zero_min : 0x1
+uint_max != zero_plus : 0x1
+uint_max != zero : 0x1
+uint_max != NaN : 0x1
+uint_max != Inf_plus : 0x1
+uint_max != Inf_min : 0x1
+uint_max != Inf : 0x1
+uint_max != long_max : 0x1
+uint_max != long_min : 0x1
+uint_max != int_max : 0x1
+uint_max != int_min : 0x1
+uint_max != uint_max : 0x0
+uint_max != ulong_max : 0x0
+uint_max != double_min : 0x1
+uint_max != double_max : 0x1
+uint_max != float_min : 0x1
+uint_max != float_max : 0x1
+uint_max * uint_max * zero_min : 0x0
+uint_max * uint_max * zero_plus : 0x0
+uint_max * uint_max * zero : 0x0
+uint_max * uint_max * NaN : NaN
+uint_max * uint_max * Inf_plus : Inf
+uint_max * uint_max * Inf_min : -Inf
+uint_max * uint_max * Inf : Inf
+uint_max * uint_max * long_max : 0x7ffffffee+16
+uint_max * uint_max * long_min : 0x80000001e+16
+uint_max * uint_max * int_max : 0x7ffffffee+16
+uint_max * uint_max * int_min : 0x80000001e+16
+uint_max * uint_max * uint_max : 0x0fffffffde+16
+uint_max * uint_max * ulong_max : 0x0fffffffde+16
+uint_max * uint_max * double_min : 0x.3fffffff8e-239
+uint_max * uint_max * double_max : Inf
+uint_max * uint_max * float_min : 0x.3fffffff8e-15
+uint_max * uint_max * float_max : 0x0fffffefee+40
+ulong_max / zero_min : -Inf
+ulong_max / zero_plus : Inf
+ulong_max / zero : Inf
+ulong_max / NaN : NaN
+ulong_max / Inf_plus : 0x0
+ulong_max / Inf_min : 0x0
+ulong_max / Inf : 0x0
+ulong_max / long_max : 0x2.00000002
+ulong_max / long_min : 0xe.00000002
+ulong_max / int_max : 0x2.00000002
+ulong_max / int_min : 0xe.00000002
+ulong_max / uint_max : 0x1
+ulong_max / ulong_max : 0x1
+ulong_max / double_min : Inf
+ulong_max / double_max : 0x.0ffffffff000008e-247
+ulong_max / float_min : 0x3fffffffce+31
+ulong_max / float_max : 0x.1000000ff0001e-23
+ulong_max * zero_min : 0x0
+ulong_max * zero_plus : 0x0
+ulong_max * zero : 0x0
+ulong_max * NaN : NaN
+ulong_max * Inf_plus : Inf
+ulong_max * Inf_min : -Inf
+ulong_max * Inf : Inf
+ulong_max * long_max : 0x7ffffffe8e+7
+ulong_max * long_min : 0x800000008e+7
+ulong_max * int_max : 0x7ffffffe8e+7
+ulong_max * int_min : 0x800000008e+7
+ulong_max * uint_max : 0x0fffffffee+8
+ulong_max * ulong_max : 0x0fffffffee+8
+ulong_max * double_min : 0x.3fffffffce-247
+ulong_max * double_max : Inf
+ulong_max * float_min : 0x.3fffffffce-23
+ulong_max * float_max : 0x0fffffeffe+32
+ulong_max + zero_min : 0x0ffffffff
+ulong_max + zero_plus : 0x0ffffffff
+ulong_max + zero : 0x0ffffffff
+ulong_max + NaN : NaN
+ulong_max + Inf_plus : Inf
+ulong_max + Inf_min : -Inf
+ulong_max + Inf : Inf
+ulong_max + long_max : 0x17ffffffe
+ulong_max + long_min : 0x7fffffff
+ulong_max + int_max : 0x17ffffffe
+ulong_max + int_min : 0x7fffffff
+ulong_max + uint_max : 0x1fffffffe
+ulong_max + ulong_max : 0x1fffffffe
+ulong_max + double_min : 0x0ffffffff
+ulong_max + double_max : 0x0fffffffffffff8e+242
+ulong_max + float_min : 0x0ffffffff
+ulong_max + float_max : 0x0ffffffe+26
+ulong_max - zero_min : 0x0ffffffff
+ulong_max - zero_plus : 0x0ffffffff
+ulong_max - zero : 0x0ffffffff
+ulong_max - NaN : NaN
+ulong_max - Inf_plus : -Inf
+ulong_max - Inf_min : Inf
+ulong_max - Inf : -Inf
+ulong_max - long_max : 0x08e+7
+ulong_max - long_min : 0x17fffffff
+ulong_max - int_max : 0x08e+7
+ulong_max - int_min : 0x17fffffff
+ulong_max - uint_max : 0x0
+ulong_max - ulong_max : 0x0
+ulong_max - double_min : 0x0ffffffff
+ulong_max - double_max : 0xf00000000000008e+242
+ulong_max - float_min : 0x0ffffffff
+ulong_max - float_max : 0xf000001e+26
+ulong_max > zero_min : 0x1
+ulong_max > zero_plus : 0x1
+ulong_max > zero : 0x1
+ulong_max > NaN : 0x0
+ulong_max > Inf_plus : 0x0
+ulong_max > Inf_min : 0x1
+ulong_max > Inf : 0x0
+ulong_max > long_max : 0x1
+ulong_max > long_min : 0x1
+ulong_max > int_max : 0x1
+ulong_max > int_min : 0x1
+ulong_max > uint_max : 0x0
+ulong_max > ulong_max : 0x0
+ulong_max > double_min : 0x1
+ulong_max > double_max : 0x0
+ulong_max > float_min : 0x1
+ulong_max > float_max : 0x0
+ulong_max < zero_min : 0x0
+ulong_max < zero_plus : 0x0
+ulong_max < zero : 0x0
+ulong_max < NaN : 0x0
+ulong_max < Inf_plus : 0x1
+ulong_max < Inf_min : 0x0
+ulong_max < Inf : 0x1
+ulong_max < long_max : 0x0
+ulong_max < long_min : 0x0
+ulong_max < int_max : 0x0
+ulong_max < int_min : 0x0
+ulong_max < uint_max : 0x0
+ulong_max < ulong_max : 0x0
+ulong_max < double_min : 0x0
+ulong_max < double_max : 0x1
+ulong_max < float_min : 0x0
+ulong_max < float_max : 0x1
+ulong_max >= zero_min : 0x1
+ulong_max >= zero_plus : 0x1
+ulong_max >= zero : 0x1
+ulong_max >= NaN : 0x0
+ulong_max >= Inf_plus : 0x0
+ulong_max >= Inf_min : 0x1
+ulong_max >= Inf : 0x0
+ulong_max >= long_max : 0x1
+ulong_max >= long_min : 0x1
+ulong_max >= int_max : 0x1
+ulong_max >= int_min : 0x1
+ulong_max >= uint_max : 0x1
+ulong_max >= ulong_max : 0x1
+ulong_max >= double_min : 0x1
+ulong_max >= double_max : 0x0
+ulong_max >= float_min : 0x1
+ulong_max >= float_max : 0x0
+ulong_max <= zero_min : 0x0
+ulong_max <= zero_plus : 0x0
+ulong_max <= zero : 0x0
+ulong_max <= NaN : 0x0
+ulong_max <= Inf_plus : 0x1
+ulong_max <= Inf_min : 0x0
+ulong_max <= Inf : 0x1
+ulong_max <= long_max : 0x0
+ulong_max <= long_min : 0x0
+ulong_max <= int_max : 0x0
+ulong_max <= int_min : 0x0
+ulong_max <= uint_max : 0x1
+ulong_max <= ulong_max : 0x1
+ulong_max <= double_min : 0x0
+ulong_max <= double_max : 0x1
+ulong_max <= float_min : 0x0
+ulong_max <= float_max : 0x1
+ulong_max == zero_min : 0x0
+ulong_max == zero_plus : 0x0
+ulong_max == zero : 0x0
+ulong_max == NaN : 0x0
+ulong_max == Inf_plus : 0x0
+ulong_max == Inf_min : 0x0
+ulong_max == Inf : 0x0
+ulong_max == long_max : 0x0
+ulong_max == long_min : 0x0
+ulong_max == int_max : 0x0
+ulong_max == int_min : 0x0
+ulong_max == uint_max : 0x1
+ulong_max == ulong_max : 0x1
+ulong_max == double_min : 0x0
+ulong_max == double_max : 0x0
+ulong_max == float_min : 0x0
+ulong_max == float_max : 0x0
+ulong_max != zero_min : 0x1
+ulong_max != zero_plus : 0x1
+ulong_max != zero : 0x1
+ulong_max != NaN : 0x1
+ulong_max != Inf_plus : 0x1
+ulong_max != Inf_min : 0x1
+ulong_max != Inf : 0x1
+ulong_max != long_max : 0x1
+ulong_max != long_min : 0x1
+ulong_max != int_max : 0x1
+ulong_max != int_min : 0x1
+ulong_max != uint_max : 0x0
+ulong_max != ulong_max : 0x0
+ulong_max != double_min : 0x1
+ulong_max != double_max : 0x1
+ulong_max != float_min : 0x1
+ulong_max != float_max : 0x1
+ulong_max * ulong_max * zero_min : 0x0
+ulong_max * ulong_max * zero_plus : 0x0
+ulong_max * ulong_max * zero : 0x0
+ulong_max * ulong_max * NaN : NaN
+ulong_max * ulong_max * Inf_plus : Inf
+ulong_max * ulong_max * Inf_min : -Inf
+ulong_max * ulong_max * Inf : Inf
+ulong_max * ulong_max * long_max : 0x7ffffffee+16
+ulong_max * ulong_max * long_min : 0x80000001e+16
+ulong_max * ulong_max * int_max : 0x7ffffffee+16
+ulong_max * ulong_max * int_min : 0x80000001e+16
+ulong_max * ulong_max * uint_max : 0x0fffffffde+16
+ulong_max * ulong_max * ulong_max : 0x0fffffffde+16
+ulong_max * ulong_max * double_min : 0x.3fffffff8e-239
+ulong_max * ulong_max * double_max : Inf
+ulong_max * ulong_max * float_min : 0x.3fffffff8e-15
+ulong_max * ulong_max * float_max : 0x0fffffefee+40
+****************** limits fx_float_double
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x7fffffff
+long_min : 0x8e+7
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+double_min / zero_min : -Inf
+double_min / zero_plus : Inf
+double_min / zero : Inf
+double_min / NaN : NaN
+double_min / Inf_plus : 0x0
+double_min / Inf_min : 0x0
+double_min / Inf : 0x0
+double_min / long_max : 0x.4e-263
+double_min / long_min : 0x.ce-263
+double_min / int_max : 0x.4e-263
+double_min / int_min : 0x.ce-263
+double_min / uint_max : 0x.2e-263
+double_min / ulong_max : 0x.2e-263
+double_min / double_min : 0x1
+double_min / double_max : 0x0
+double_min / float_min : 0x.1e-223
+double_min / float_max : 0x0
+double_min * zero_min : 0x0
+double_min * zero_plus : 0x0
+double_min * zero : 0x0
+double_min * NaN : NaN
+double_min * Inf_plus : Inf
+double_min * Inf_min : -Inf
+double_min * Inf : Inf
+double_min * long_max : 0x.1fffffffce-247
+double_min * long_min : 0x.ee-247
+double_min * int_max : 0x.1fffffffce-247
+double_min * int_min : 0x.ee-247
+double_min * uint_max : 0x.3fffffffce-247
+double_min * ulong_max : 0x.3fffffffce-247
+double_min * double_min : 0x0
+double_min * double_max : 0x3.ffffffffffffe
+double_min * float_min : 0x0
+double_min * float_max : 0x.3fffffce-223
+double_min + zero_min : 0x.4e-255
+double_min + zero_plus : 0x.4e-255
+double_min + zero : 0x.4e-255
+double_min + NaN : NaN
+double_min + Inf_plus : Inf
+double_min + Inf_min : -Inf
+double_min + Inf : Inf
+double_min + long_max : 0x7fffffff
+double_min + long_min : 0x8e+7
+double_min + int_max : 0x7fffffff
+double_min + int_min : 0x8e+7
+double_min + uint_max : 0x0ffffffff
+double_min + ulong_max : 0x0ffffffff
+double_min + double_min : 0x.08e-254
+double_min + double_max : 0x0fffffffffffff8e+242
+double_min + float_min : 0x.4e-31
+double_min + float_max : 0x0ffffffe+26
+double_min - zero_min : 0x.4e-255
+double_min - zero_plus : 0x.4e-255
+double_min - zero : 0x.4e-255
+double_min - NaN : NaN
+double_min - Inf_plus : -Inf
+double_min - Inf_min : Inf
+double_min - Inf : -Inf
+double_min - long_max : 0x80000001
+double_min - long_min : 0x08e+7
+double_min - int_max : 0x80000001
+double_min - int_min : 0x08e+7
+double_min - uint_max : 0xf00000001
+double_min - ulong_max : 0xf00000001
+double_min - double_min : 0x0
+double_min - double_max : 0xf00000000000008e+242
+double_min - float_min : 0x.ce-31
+double_min - float_max : 0xf000001e+26
+double_min > zero_min : 0x1
+double_min > zero_plus : 0x1
+double_min > zero : 0x1
+double_min > NaN : 0x0
+double_min > Inf_plus : 0x0
+double_min > Inf_min : 0x1
+double_min > Inf : 0x0
+double_min > long_max : 0x0
+double_min > long_min : 0x1
+double_min > int_max : 0x0
+double_min > int_min : 0x1
+double_min > uint_max : 0x0
+double_min > ulong_max : 0x0
+double_min > double_min : 0x0
+double_min > double_max : 0x0
+double_min > float_min : 0x0
+double_min > float_max : 0x0
+double_min < zero_min : 0x0
+double_min < zero_plus : 0x0
+double_min < zero : 0x0
+double_min < NaN : 0x0
+double_min < Inf_plus : 0x1
+double_min < Inf_min : 0x0
+double_min < Inf : 0x1
+double_min < long_max : 0x1
+double_min < long_min : 0x0
+double_min < int_max : 0x1
+double_min < int_min : 0x0
+double_min < uint_max : 0x1
+double_min < ulong_max : 0x1
+double_min < double_min : 0x0
+double_min < double_max : 0x1
+double_min < float_min : 0x1
+double_min < float_max : 0x1
+double_min >= zero_min : 0x1
+double_min >= zero_plus : 0x1
+double_min >= zero : 0x1
+double_min >= NaN : 0x0
+double_min >= Inf_plus : 0x0
+double_min >= Inf_min : 0x1
+double_min >= Inf : 0x0
+double_min >= long_max : 0x0
+double_min >= long_min : 0x1
+double_min >= int_max : 0x0
+double_min >= int_min : 0x1
+double_min >= uint_max : 0x0
+double_min >= ulong_max : 0x0
+double_min >= double_min : 0x1
+double_min >= double_max : 0x0
+double_min >= float_min : 0x0
+double_min >= float_max : 0x0
+double_min <= zero_min : 0x0
+double_min <= zero_plus : 0x0
+double_min <= zero : 0x0
+double_min <= NaN : 0x0
+double_min <= Inf_plus : 0x1
+double_min <= Inf_min : 0x0
+double_min <= Inf : 0x1
+double_min <= long_max : 0x1
+double_min <= long_min : 0x0
+double_min <= int_max : 0x1
+double_min <= int_min : 0x0
+double_min <= uint_max : 0x1
+double_min <= ulong_max : 0x1
+double_min <= double_min : 0x1
+double_min <= double_max : 0x1
+double_min <= float_min : 0x1
+double_min <= float_max : 0x1
+double_min == zero_min : 0x0
+double_min == zero_plus : 0x0
+double_min == zero : 0x0
+double_min == NaN : 0x0
+double_min == Inf_plus : 0x0
+double_min == Inf_min : 0x0
+double_min == Inf : 0x0
+double_min == long_max : 0x0
+double_min == long_min : 0x0
+double_min == int_max : 0x0
+double_min == int_min : 0x0
+double_min == uint_max : 0x0
+double_min == ulong_max : 0x0
+double_min == double_min : 0x1
+double_min == double_max : 0x0
+double_min == float_min : 0x0
+double_min == float_max : 0x0
+double_min != zero_min : 0x1
+double_min != zero_plus : 0x1
+double_min != zero : 0x1
+double_min != NaN : 0x1
+double_min != Inf_plus : 0x1
+double_min != Inf_min : 0x1
+double_min != Inf : 0x1
+double_min != long_max : 0x1
+double_min != long_min : 0x1
+double_min != int_max : 0x1
+double_min != int_min : 0x1
+double_min != uint_max : 0x1
+double_min != ulong_max : 0x1
+double_min != double_min : 0x0
+double_min != double_max : 0x1
+double_min != float_min : 0x1
+double_min != float_max : 0x1
+double_min * double_min * zero_min : 0x0
+double_min * double_min * zero_plus : 0x0
+double_min * double_min * zero : 0x0
+double_min * double_min * NaN : NaN
+double_min * double_min * Inf_plus : NaN
+double_min * double_min * Inf_min : NaN
+double_min * double_min * Inf : NaN
+double_min * double_min * long_max : 0x0
+double_min * double_min * long_min : 0x0
+double_min * double_min * int_max : 0x0
+double_min * double_min * int_min : 0x0
+double_min * double_min * uint_max : 0x0
+double_min * double_min * ulong_max : 0x0
+double_min * double_min * double_min : 0x0
+double_min * double_min * double_max : 0x0
+double_min * double_min * float_min : 0x0
+double_min * double_min * float_max : 0x0
+double_max / zero_min : -Inf
+double_max / zero_plus : Inf
+double_max / zero : Inf
+double_max / NaN : NaN
+double_max / Inf_plus : 0x0
+double_max / Inf_min : 0x0
+double_max / Inf : 0x0
+double_max / long_max : 0x200000004e+240
+double_max / long_min : 0xe0000000000001e+235
+double_max / int_max : 0x200000004e+240
+double_max / int_min : 0xe0000000000001e+235
+double_max / uint_max : 0x100000001e+240
+double_max / ulong_max : 0x100000001e+240
+double_max / double_min : Inf
+double_max / double_max : 0x1
+double_max / float_min : Inf
+double_max / float_max : 0x1000001000001e+212
+double_max * zero_min : 0x0
+double_max * zero_plus : 0x0
+double_max * zero : 0x0
+double_max * NaN : NaN
+double_max * Inf_plus : Inf
+double_max * Inf_min : -Inf
+double_max * Inf : Inf
+double_max * long_max : Inf
+double_max * long_min : -Inf
+double_max * int_max : Inf
+double_max * int_min : -Inf
+double_max * uint_max : Inf
+double_max * ulong_max : Inf
+double_max * double_min : 0x3.ffffffffffffe
+double_max * double_max : Inf
+double_max * float_min : 0x3ffffffffffffee+211
+double_max * float_max : Inf
+double_max + zero_min : 0x0fffffffffffff8e+242
+double_max + zero_plus : 0x0fffffffffffff8e+242
+double_max + zero : 0x0fffffffffffff8e+242
+double_max + NaN : NaN
+double_max + Inf_plus : Inf
+double_max + Inf_min : -Inf
+double_max + Inf : Inf
+double_max + long_max : 0x0fffffffffffff8e+242
+double_max + long_min : 0x0fffffffffffff8e+242
+double_max + int_max : 0x0fffffffffffff8e+242
+double_max + int_min : 0x0fffffffffffff8e+242
+double_max + uint_max : 0x0fffffffffffff8e+242
+double_max + ulong_max : 0x0fffffffffffff8e+242
+double_max + double_min : 0x0fffffffffffff8e+242
+double_max + double_max : Inf
+double_max + float_min : 0x0fffffffffffff8e+242
+double_max + float_max : 0x0fffffffffffff8e+242
+double_max - zero_min : 0x0fffffffffffff8e+242
+double_max - zero_plus : 0x0fffffffffffff8e+242
+double_max - zero : 0x0fffffffffffff8e+242
+double_max - NaN : NaN
+double_max - Inf_plus : -Inf
+double_max - Inf_min : Inf
+double_max - Inf : -Inf
+double_max - long_max : 0x0fffffffffffff8e+242
+double_max - long_min : 0x0fffffffffffff8e+242
+double_max - int_max : 0x0fffffffffffff8e+242
+double_max - int_min : 0x0fffffffffffff8e+242
+double_max - uint_max : 0x0fffffffffffff8e+242
+double_max - ulong_max : 0x0fffffffffffff8e+242
+double_max - double_min : 0x0fffffffffffff8e+242
+double_max - double_max : 0x0
+double_max - float_min : 0x0fffffffffffff8e+242
+double_max - float_max : 0x0fffffffffffff8e+242
+double_max > zero_min : 0x1
+double_max > zero_plus : 0x1
+double_max > zero : 0x1
+double_max > NaN : 0x0
+double_max > Inf_plus : 0x0
+double_max > Inf_min : 0x1
+double_max > Inf : 0x0
+double_max > long_max : 0x1
+double_max > long_min : 0x1
+double_max > int_max : 0x1
+double_max > int_min : 0x1
+double_max > uint_max : 0x1
+double_max > ulong_max : 0x1
+double_max > double_min : 0x1
+double_max > double_max : 0x0
+double_max > float_min : 0x1
+double_max > float_max : 0x1
+double_max < zero_min : 0x0
+double_max < zero_plus : 0x0
+double_max < zero : 0x0
+double_max < NaN : 0x0
+double_max < Inf_plus : 0x1
+double_max < Inf_min : 0x0
+double_max < Inf : 0x1
+double_max < long_max : 0x0
+double_max < long_min : 0x0
+double_max < int_max : 0x0
+double_max < int_min : 0x0
+double_max < uint_max : 0x0
+double_max < ulong_max : 0x0
+double_max < double_min : 0x0
+double_max < double_max : 0x0
+double_max < float_min : 0x0
+double_max < float_max : 0x0
+double_max >= zero_min : 0x1
+double_max >= zero_plus : 0x1
+double_max >= zero : 0x1
+double_max >= NaN : 0x0
+double_max >= Inf_plus : 0x0
+double_max >= Inf_min : 0x1
+double_max >= Inf : 0x0
+double_max >= long_max : 0x1
+double_max >= long_min : 0x1
+double_max >= int_max : 0x1
+double_max >= int_min : 0x1
+double_max >= uint_max : 0x1
+double_max >= ulong_max : 0x1
+double_max >= double_min : 0x1
+double_max >= double_max : 0x1
+double_max >= float_min : 0x1
+double_max >= float_max : 0x1
+double_max <= zero_min : 0x0
+double_max <= zero_plus : 0x0
+double_max <= zero : 0x0
+double_max <= NaN : 0x0
+double_max <= Inf_plus : 0x1
+double_max <= Inf_min : 0x0
+double_max <= Inf : 0x1
+double_max <= long_max : 0x0
+double_max <= long_min : 0x0
+double_max <= int_max : 0x0
+double_max <= int_min : 0x0
+double_max <= uint_max : 0x0
+double_max <= ulong_max : 0x0
+double_max <= double_min : 0x0
+double_max <= double_max : 0x1
+double_max <= float_min : 0x0
+double_max <= float_max : 0x0
+double_max == zero_min : 0x0
+double_max == zero_plus : 0x0
+double_max == zero : 0x0
+double_max == NaN : 0x0
+double_max == Inf_plus : 0x0
+double_max == Inf_min : 0x0
+double_max == Inf : 0x0
+double_max == long_max : 0x0
+double_max == long_min : 0x0
+double_max == int_max : 0x0
+double_max == int_min : 0x0
+double_max == uint_max : 0x0
+double_max == ulong_max : 0x0
+double_max == double_min : 0x0
+double_max == double_max : 0x1
+double_max == float_min : 0x0
+double_max == float_max : 0x0
+double_max != zero_min : 0x1
+double_max != zero_plus : 0x1
+double_max != zero : 0x1
+double_max != NaN : 0x1
+double_max != Inf_plus : 0x1
+double_max != Inf_min : 0x1
+double_max != Inf : 0x1
+double_max != long_max : 0x1
+double_max != long_min : 0x1
+double_max != int_max : 0x1
+double_max != int_min : 0x1
+double_max != uint_max : 0x1
+double_max != ulong_max : 0x1
+double_max != double_min : 0x1
+double_max != double_max : 0x0
+double_max != float_min : 0x1
+double_max != float_max : 0x1
+double_max * double_max * zero_min : NaN
+double_max * double_max * zero_plus : NaN
+double_max * double_max * zero : NaN
+double_max * double_max * NaN : NaN
+double_max * double_max * Inf_plus : Inf
+double_max * double_max * Inf_min : -Inf
+double_max * double_max * Inf : Inf
+double_max * double_max * long_max : Inf
+double_max * double_max * long_min : -Inf
+double_max * double_max * int_max : Inf
+double_max * double_max * int_min : -Inf
+double_max * double_max * uint_max : Inf
+double_max * double_max * ulong_max : Inf
+double_max * double_max * double_min : Inf
+double_max * double_max * double_max : Inf
+double_max * double_max * float_min : Inf
+double_max * double_max * float_max : Inf
+float_min / zero_min : -Inf
+float_min / zero_plus : Inf
+float_min / zero : Inf
+float_min / NaN : NaN
+float_min / Inf_plus : 0x0
+float_min / Inf_min : 0x0
+float_min / Inf : 0x0
+float_min / long_max : 0x.080000001e-38
+float_min / long_min : 0x.8e-39
+float_min / int_max : 0x.080000001e-38
+float_min / int_min : 0x.8e-39
+float_min / uint_max : 0x.400000004e-39
+float_min / ulong_max : 0x.400000004e-39
+float_min / double_min : 0x1e+224
+float_min / double_max : 0x0
+float_min / float_min : 0x1
+float_min / float_max : 0x.4000004000004e-63
+float_min * zero_min : 0x0
+float_min * zero_plus : 0x0
+float_min * zero : 0x0
+float_min * NaN : NaN
+float_min * Inf_plus : Inf
+float_min * Inf_min : -Inf
+float_min * Inf : Inf
+float_min * long_max : 0x.1fffffffce-23
+float_min * long_min : 0x.ee-23
+float_min * int_max : 0x.1fffffffce-23
+float_min * int_min : 0x.ee-23
+float_min * uint_max : 0x.3fffffffce-23
+float_min * ulong_max : 0x.3fffffffce-23
+float_min * double_min : 0x0
+float_min * double_max : 0x3ffffffffffffee+211
+float_min * float_min : 0x.1e-62
+float_min * float_max : 0x3.fffffc
+float_min + zero_min : 0x.4e-31
+float_min + zero_plus : 0x.4e-31
+float_min + zero : 0x.4e-31
+float_min + NaN : NaN
+float_min + Inf_plus : Inf
+float_min + Inf_min : -Inf
+float_min + Inf : Inf
+float_min + long_max : 0x7fffffff
+float_min + long_min : 0x8e+7
+float_min + int_max : 0x7fffffff
+float_min + int_min : 0x8e+7
+float_min + uint_max : 0x0ffffffff
+float_min + ulong_max : 0x0ffffffff
+float_min + double_min : 0x.4e-31
+float_min + double_max : 0x0fffffffffffff8e+242
+float_min + float_min : 0x.08e-30
+float_min + float_max : 0x0ffffffe+26
+float_min - zero_min : 0x.4e-31
+float_min - zero_plus : 0x.4e-31
+float_min - zero : 0x.4e-31
+float_min - NaN : NaN
+float_min - Inf_plus : -Inf
+float_min - Inf_min : Inf
+float_min - Inf : -Inf
+float_min - long_max : 0x80000001
+float_min - long_min : 0x08e+7
+float_min - int_max : 0x80000001
+float_min - int_min : 0x08e+7
+float_min - uint_max : 0xf00000001
+float_min - ulong_max : 0xf00000001
+float_min - double_min : 0x.4e-31
+float_min - double_max : 0xf00000000000008e+242
+float_min - float_min : 0x0
+float_min - float_max : 0xf000001e+26
+float_min > zero_min : 0x1
+float_min > zero_plus : 0x1
+float_min > zero : 0x1
+float_min > NaN : 0x0
+float_min > Inf_plus : 0x0
+float_min > Inf_min : 0x1
+float_min > Inf : 0x0
+float_min > long_max : 0x0
+float_min > long_min : 0x1
+float_min > int_max : 0x0
+float_min > int_min : 0x1
+float_min > uint_max : 0x0
+float_min > ulong_max : 0x0
+float_min > double_min : 0x1
+float_min > double_max : 0x0
+float_min > float_min : 0x0
+float_min > float_max : 0x0
+float_min < zero_min : 0x0
+float_min < zero_plus : 0x0
+float_min < zero : 0x0
+float_min < NaN : 0x0
+float_min < Inf_plus : 0x1
+float_min < Inf_min : 0x0
+float_min < Inf : 0x1
+float_min < long_max : 0x1
+float_min < long_min : 0x0
+float_min < int_max : 0x1
+float_min < int_min : 0x0
+float_min < uint_max : 0x1
+float_min < ulong_max : 0x1
+float_min < double_min : 0x0
+float_min < double_max : 0x1
+float_min < float_min : 0x0
+float_min < float_max : 0x1
+float_min >= zero_min : 0x1
+float_min >= zero_plus : 0x1
+float_min >= zero : 0x1
+float_min >= NaN : 0x0
+float_min >= Inf_plus : 0x0
+float_min >= Inf_min : 0x1
+float_min >= Inf : 0x0
+float_min >= long_max : 0x0
+float_min >= long_min : 0x1
+float_min >= int_max : 0x0
+float_min >= int_min : 0x1
+float_min >= uint_max : 0x0
+float_min >= ulong_max : 0x0
+float_min >= double_min : 0x1
+float_min >= double_max : 0x0
+float_min >= float_min : 0x1
+float_min >= float_max : 0x0
+float_min <= zero_min : 0x0
+float_min <= zero_plus : 0x0
+float_min <= zero : 0x0
+float_min <= NaN : 0x0
+float_min <= Inf_plus : 0x1
+float_min <= Inf_min : 0x0
+float_min <= Inf : 0x1
+float_min <= long_max : 0x1
+float_min <= long_min : 0x0
+float_min <= int_max : 0x1
+float_min <= int_min : 0x0
+float_min <= uint_max : 0x1
+float_min <= ulong_max : 0x1
+float_min <= double_min : 0x0
+float_min <= double_max : 0x1
+float_min <= float_min : 0x1
+float_min <= float_max : 0x1
+float_min == zero_min : 0x0
+float_min == zero_plus : 0x0
+float_min == zero : 0x0
+float_min == NaN : 0x0
+float_min == Inf_plus : 0x0
+float_min == Inf_min : 0x0
+float_min == Inf : 0x0
+float_min == long_max : 0x0
+float_min == long_min : 0x0
+float_min == int_max : 0x0
+float_min == int_min : 0x0
+float_min == uint_max : 0x0
+float_min == ulong_max : 0x0
+float_min == double_min : 0x0
+float_min == double_max : 0x0
+float_min == float_min : 0x1
+float_min == float_max : 0x0
+float_min != zero_min : 0x1
+float_min != zero_plus : 0x1
+float_min != zero : 0x1
+float_min != NaN : 0x1
+float_min != Inf_plus : 0x1
+float_min != Inf_min : 0x1
+float_min != Inf : 0x1
+float_min != long_max : 0x1
+float_min != long_min : 0x1
+float_min != int_max : 0x1
+float_min != int_min : 0x1
+float_min != uint_max : 0x1
+float_min != ulong_max : 0x1
+float_min != double_min : 0x1
+float_min != double_max : 0x1
+float_min != float_min : 0x0
+float_min != float_max : 0x1
+float_min * float_min * zero_min : 0x0
+float_min * float_min * zero_plus : 0x0
+float_min * float_min * zero : 0x0
+float_min * float_min * NaN : NaN
+float_min * float_min * Inf_plus : Inf
+float_min * float_min * Inf_min : -Inf
+float_min * float_min * Inf : Inf
+float_min * float_min * long_max : 0x.7fffffffe-55
+float_min * float_min * long_min : 0x.8e-55
+float_min * float_min * int_max : 0x.7fffffffe-55
+float_min * float_min * int_min : 0x.8e-55
+float_min * float_min * uint_max : 0x.0ffffffffe-54
+float_min * float_min * ulong_max : 0x.0ffffffffe-54
+float_min * float_min * double_min : 0x0
+float_min * float_min * double_max : 0x0fffffffffffff8e+179
+float_min * float_min * float_min : 0x.4e-94
+float_min * float_min * float_max : 0x.0ffffffe-30
+float_max / zero_min : -Inf
+float_max / zero_plus : Inf
+float_max / zero : Inf
+float_max / NaN : NaN
+float_max / Inf_plus : 0x0
+float_max / Inf_min : 0x0
+float_max / Inf : 0x0
+float_max / long_max : 0x1fffffe04e+16
+float_max / long_min : 0xe000002e+18
+float_max / int_max : 0x1fffffe04e+16
+float_max / int_min : 0xe000002e+18
+float_max / uint_max : 0x0ffffff01e+16
+float_max / ulong_max : 0x0ffffff01e+16
+float_max / double_min : Inf
+float_max / double_max : 0x.0ffffff00000008e-223
+float_max / float_min : 0x3fffffce+57
+float_max / float_max : 0x1
+float_max * zero_min : 0x0
+float_max * zero_plus : 0x0
+float_max * zero : 0x0
+float_max * NaN : NaN
+float_max * Inf_plus : Inf
+float_max * Inf_min : -Inf
+float_max * Inf : Inf
+float_max * long_max : 0x7fffff7fe+32
+float_max * long_min : 0x8000008e+33
+float_max * int_max : 0x7fffff7fe+32
+float_max * int_min : 0x8000008e+33
+float_max * uint_max : 0x0fffffeffe+32
+float_max * ulong_max : 0x0fffffeffe+32
+float_max * double_min : 0x.3fffffce-223
+float_max * double_max : Inf
+float_max * float_min : 0x3.fffffc
+float_max * float_max : 0x0fffffe000001e+52
+float_max + zero_min : 0x0ffffffe+26
+float_max + zero_plus : 0x0ffffffe+26
+float_max + zero : 0x0ffffffe+26
+float_max + NaN : NaN
+float_max + Inf_plus : Inf
+float_max + Inf_min : -Inf
+float_max + Inf : Inf
+float_max + long_max : 0x0ffffffe+26
+float_max + long_min : 0x0ffffffe+26
+float_max + int_max : 0x0ffffffe+26
+float_max + int_min : 0x0ffffffe+26
+float_max + uint_max : 0x0ffffffe+26
+float_max + ulong_max : 0x0ffffffe+26
+float_max + double_min : 0x0ffffffe+26
+float_max + double_max : 0x0fffffffffffff8e+242
+float_max + float_min : 0x0ffffffe+26
+float_max + float_max : 0x1fffffee+26
+float_max - zero_min : 0x0ffffffe+26
+float_max - zero_plus : 0x0ffffffe+26
+float_max - zero : 0x0ffffffe+26
+float_max - NaN : NaN
+float_max - Inf_plus : -Inf
+float_max - Inf_min : Inf
+float_max - Inf : -Inf
+float_max - long_max : 0x0ffffffe+26
+float_max - long_min : 0x0ffffffe+26
+float_max - int_max : 0x0ffffffe+26
+float_max - int_min : 0x0ffffffe+26
+float_max - uint_max : 0x0ffffffe+26
+float_max - ulong_max : 0x0ffffffe+26
+float_max - double_min : 0x0ffffffe+26
+float_max - double_max : 0xf00000000000008e+242
+float_max - float_min : 0x0ffffffe+26
+float_max - float_max : 0x0
+float_max > zero_min : 0x1
+float_max > zero_plus : 0x1
+float_max > zero : 0x1
+float_max > NaN : 0x0
+float_max > Inf_plus : 0x0
+float_max > Inf_min : 0x1
+float_max > Inf : 0x0
+float_max > long_max : 0x1
+float_max > long_min : 0x1
+float_max > int_max : 0x1
+float_max > int_min : 0x1
+float_max > uint_max : 0x1
+float_max > ulong_max : 0x1
+float_max > double_min : 0x1
+float_max > double_max : 0x0
+float_max > float_min : 0x1
+float_max > float_max : 0x0
+float_max < zero_min : 0x0
+float_max < zero_plus : 0x0
+float_max < zero : 0x0
+float_max < NaN : 0x0
+float_max < Inf_plus : 0x1
+float_max < Inf_min : 0x0
+float_max < Inf : 0x1
+float_max < long_max : 0x0
+float_max < long_min : 0x0
+float_max < int_max : 0x0
+float_max < int_min : 0x0
+float_max < uint_max : 0x0
+float_max < ulong_max : 0x0
+float_max < double_min : 0x0
+float_max < double_max : 0x1
+float_max < float_min : 0x0
+float_max < float_max : 0x0
+float_max >= zero_min : 0x1
+float_max >= zero_plus : 0x1
+float_max >= zero : 0x1
+float_max >= NaN : 0x0
+float_max >= Inf_plus : 0x0
+float_max >= Inf_min : 0x1
+float_max >= Inf : 0x0
+float_max >= long_max : 0x1
+float_max >= long_min : 0x1
+float_max >= int_max : 0x1
+float_max >= int_min : 0x1
+float_max >= uint_max : 0x1
+float_max >= ulong_max : 0x1
+float_max >= double_min : 0x1
+float_max >= double_max : 0x0
+float_max >= float_min : 0x1
+float_max >= float_max : 0x1
+float_max <= zero_min : 0x0
+float_max <= zero_plus : 0x0
+float_max <= zero : 0x0
+float_max <= NaN : 0x0
+float_max <= Inf_plus : 0x1
+float_max <= Inf_min : 0x0
+float_max <= Inf : 0x1
+float_max <= long_max : 0x0
+float_max <= long_min : 0x0
+float_max <= int_max : 0x0
+float_max <= int_min : 0x0
+float_max <= uint_max : 0x0
+float_max <= ulong_max : 0x0
+float_max <= double_min : 0x0
+float_max <= double_max : 0x1
+float_max <= float_min : 0x0
+float_max <= float_max : 0x1
+float_max == zero_min : 0x0
+float_max == zero_plus : 0x0
+float_max == zero : 0x0
+float_max == NaN : 0x0
+float_max == Inf_plus : 0x0
+float_max == Inf_min : 0x0
+float_max == Inf : 0x0
+float_max == long_max : 0x0
+float_max == long_min : 0x0
+float_max == int_max : 0x0
+float_max == int_min : 0x0
+float_max == uint_max : 0x0
+float_max == ulong_max : 0x0
+float_max == double_min : 0x0
+float_max == double_max : 0x0
+float_max == float_min : 0x0
+float_max == float_max : 0x1
+float_max != zero_min : 0x1
+float_max != zero_plus : 0x1
+float_max != zero : 0x1
+float_max != NaN : 0x1
+float_max != Inf_plus : 0x1
+float_max != Inf_min : 0x1
+float_max != Inf : 0x1
+float_max != long_max : 0x1
+float_max != long_min : 0x1
+float_max != int_max : 0x1
+float_max != int_min : 0x1
+float_max != uint_max : 0x1
+float_max != ulong_max : 0x1
+float_max != double_min : 0x1
+float_max != double_max : 0x1
+float_max != float_min : 0x1
+float_max != float_max : 0x0
+float_max * float_max * zero_min : 0x0
+float_max * float_max * zero_plus : 0x0
+float_max * float_max * zero : 0x0
+float_max * float_max * NaN : NaN
+float_max * float_max * Inf_plus : Inf
+float_max * float_max * Inf_min : -Inf
+float_max * float_max * Inf : Inf
+float_max * float_max * long_max : 0x7ffffeff00008e+59
+float_max * float_max * long_min : 0x800000ffffff8e+59
+float_max * float_max * int_max : 0x7ffffeff00008e+59
+float_max * float_max * int_min : 0x800000ffffff8e+59
+float_max * float_max * uint_max : 0x0fffffdff0001e+60
+float_max * float_max * ulong_max : 0x0fffffdff0001e+60
+float_max * float_max * double_min : 0x.3fffff8000004e-191
+float_max * float_max * double_max : Inf
+float_max * float_max * float_min : 0x3fffff8000004e+20
+float_max * float_max * float_max : 0x0fffffd000003e+84
+double_min / NaN : NaN
+****************** limits fx_ufix
+****************** limits fx_ufix_zero
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x07fffffff
+long_min : 0x080000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_Inf
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x07fffffff
+long_min : 0x080000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_long
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x07fffffff
+long_min : 0x080000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_double
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x07fffffff
+long_min : 0x080000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_fix
+****************** limits fx_fix_zero
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x7fffffff
+long_min : 0x80000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0xffffffff
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_Inf
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x7fffffff
+long_min : 0x80000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0xffffffff
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_long
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x7fffffff
+long_min : 0x80000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0xffffffff
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_double
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x7fffffff
+long_min : 0x80000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0xffffffff
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fixed<8, 5>
+****************** limits fx_fixed<8, 5>_zero
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0xff.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0xff.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_Inf
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0xff.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0xff.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_long
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0xff.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0xff.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_double
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0xff.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0xff.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>
+****************** limits fx_ufixed<8, 5>_zero
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x1f.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x1f.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_Inf
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x1f.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x1f.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_long
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x1f.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x1f.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_double
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x1f.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x1f.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.cygwin64 b/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.cygwin64
new file mode 100644
index 000000000..ab2c16dd6
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.cygwin64
@@ -0,0 +1,3482 @@
+SystemC Simulation
+****************** limits fx_float_zero
+****************** limits fx_float_inf
+****************** limits fx_float
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x08e+15
+long_min : 0x8e+15
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x1e+16
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+zero_min / zero_min : NaN
+zero_min / zero_plus : NaN
+zero_min / zero : NaN
+zero_min / NaN : NaN
+zero_min / Inf_plus : 0x0
+zero_min / Inf_min : 0x0
+zero_min / Inf : 0x0
+zero_min / long_max : 0x0
+zero_min / long_min : 0x0
+zero_min / int_max : 0x0
+zero_min / int_min : 0x0
+zero_min / uint_max : 0x0
+zero_min / ulong_max : 0x0
+zero_min / double_min : 0x0
+zero_min / double_max : 0x0
+zero_min / float_min : 0x0
+zero_min / float_max : 0x0
+zero_min * zero_min : 0x0
+zero_min * zero_plus : 0x0
+zero_min * zero : 0x0
+zero_min * NaN : NaN
+zero_min * Inf_plus : NaN
+zero_min * Inf_min : NaN
+zero_min * Inf : NaN
+zero_min * long_max : 0x0
+zero_min * long_min : 0x0
+zero_min * int_max : 0x0
+zero_min * int_min : 0x0
+zero_min * uint_max : 0x0
+zero_min * ulong_max : 0x0
+zero_min * double_min : 0x0
+zero_min * double_max : 0x0
+zero_min * float_min : 0x0
+zero_min * float_max : 0x0
+zero_min + zero_min : 0x0
+zero_min + zero_plus : 0x0
+zero_min + zero : 0x0
+zero_min + NaN : NaN
+zero_min + Inf_plus : Inf
+zero_min + Inf_min : -Inf
+zero_min + Inf : Inf
+zero_min + long_max : 0x08e+15
+zero_min + long_min : 0x8e+15
+zero_min + int_max : 0x7fffffff
+zero_min + int_min : 0x8e+7
+zero_min + uint_max : 0x0ffffffff
+zero_min + ulong_max : 0x1e+16
+zero_min + double_min : 0x.4e-255
+zero_min + double_max : 0x0fffffffffffff8e+242
+zero_min + float_min : 0x.4e-31
+zero_min + float_max : 0x0ffffffe+26
+zero_min - zero_min : 0x0
+zero_min - zero_plus : 0x0
+zero_min - zero : 0x0
+zero_min - NaN : NaN
+zero_min - Inf_plus : -Inf
+zero_min - Inf_min : Inf
+zero_min - Inf : -Inf
+zero_min - long_max : 0x8e+15
+zero_min - long_min : 0x08e+15
+zero_min - int_max : 0x80000001
+zero_min - int_min : 0x08e+7
+zero_min - uint_max : 0xf00000001
+zero_min - ulong_max : 0xfe+16
+zero_min - double_min : 0x.ce-255
+zero_min - double_max : 0xf00000000000008e+242
+zero_min - float_min : 0x.ce-31
+zero_min - float_max : 0xf000001e+26
+zero_min > zero_min : 0x0
+zero_min > zero_plus : 0x0
+zero_min > zero : 0x0
+zero_min > NaN : 0x0
+zero_min > Inf_plus : 0x0
+zero_min > Inf_min : 0x1
+zero_min > Inf : 0x0
+zero_min > long_max : 0x0
+zero_min > long_min : 0x1
+zero_min > int_max : 0x0
+zero_min > int_min : 0x1
+zero_min > uint_max : 0x0
+zero_min > ulong_max : 0x0
+zero_min > double_min : 0x0
+zero_min > double_max : 0x0
+zero_min > float_min : 0x0
+zero_min > float_max : 0x0
+zero_min < zero_min : 0x0
+zero_min < zero_plus : 0x0
+zero_min < zero : 0x0
+zero_min < NaN : 0x0
+zero_min < Inf_plus : 0x1
+zero_min < Inf_min : 0x0
+zero_min < Inf : 0x1
+zero_min < long_max : 0x1
+zero_min < long_min : 0x0
+zero_min < int_max : 0x1
+zero_min < int_min : 0x0
+zero_min < uint_max : 0x1
+zero_min < ulong_max : 0x1
+zero_min < double_min : 0x1
+zero_min < double_max : 0x1
+zero_min < float_min : 0x1
+zero_min < float_max : 0x1
+zero_min >= zero_min : 0x1
+zero_min >= zero_plus : 0x1
+zero_min >= zero : 0x1
+zero_min >= NaN : 0x0
+zero_min >= Inf_plus : 0x0
+zero_min >= Inf_min : 0x1
+zero_min >= Inf : 0x0
+zero_min >= long_max : 0x0
+zero_min >= long_min : 0x1
+zero_min >= int_max : 0x0
+zero_min >= int_min : 0x1
+zero_min >= uint_max : 0x0
+zero_min >= ulong_max : 0x0
+zero_min >= double_min : 0x0
+zero_min >= double_max : 0x0
+zero_min >= float_min : 0x0
+zero_min >= float_max : 0x0
+zero_min <= zero_min : 0x1
+zero_min <= zero_plus : 0x1
+zero_min <= zero : 0x1
+zero_min <= NaN : 0x0
+zero_min <= Inf_plus : 0x1
+zero_min <= Inf_min : 0x0
+zero_min <= Inf : 0x1
+zero_min <= long_max : 0x1
+zero_min <= long_min : 0x0
+zero_min <= int_max : 0x1
+zero_min <= int_min : 0x0
+zero_min <= uint_max : 0x1
+zero_min <= ulong_max : 0x1
+zero_min <= double_min : 0x1
+zero_min <= double_max : 0x1
+zero_min <= float_min : 0x1
+zero_min <= float_max : 0x1
+zero_min == zero_min : 0x1
+zero_min == zero_plus : 0x1
+zero_min == zero : 0x1
+zero_min == NaN : 0x0
+zero_min == Inf_plus : 0x0
+zero_min == Inf_min : 0x0
+zero_min == Inf : 0x0
+zero_min == long_max : 0x0
+zero_min == long_min : 0x0
+zero_min == int_max : 0x0
+zero_min == int_min : 0x0
+zero_min == uint_max : 0x0
+zero_min == ulong_max : 0x0
+zero_min == double_min : 0x0
+zero_min == double_max : 0x0
+zero_min == float_min : 0x0
+zero_min == float_max : 0x0
+zero_min != zero_min : 0x0
+zero_min != zero_plus : 0x0
+zero_min != zero : 0x0
+zero_min != NaN : 0x1
+zero_min != Inf_plus : 0x1
+zero_min != Inf_min : 0x1
+zero_min != Inf : 0x1
+zero_min != long_max : 0x1
+zero_min != long_min : 0x1
+zero_min != int_max : 0x1
+zero_min != int_min : 0x1
+zero_min != uint_max : 0x1
+zero_min != ulong_max : 0x1
+zero_min != double_min : 0x1
+zero_min != double_max : 0x1
+zero_min != float_min : 0x1
+zero_min != float_max : 0x1
+zero_min * zero_min * zero_min : 0x0
+zero_min * zero_min * zero_plus : 0x0
+zero_min * zero_min * zero : 0x0
+zero_min * zero_min * NaN : NaN
+zero_min * zero_min * Inf_plus : NaN
+zero_min * zero_min * Inf_min : NaN
+zero_min * zero_min * Inf : NaN
+zero_min * zero_min * long_max : 0x0
+zero_min * zero_min * long_min : 0x0
+zero_min * zero_min * int_max : 0x0
+zero_min * zero_min * int_min : 0x0
+zero_min * zero_min * uint_max : 0x0
+zero_min * zero_min * ulong_max : 0x0
+zero_min * zero_min * double_min : 0x0
+zero_min * zero_min * double_max : 0x0
+zero_min * zero_min * float_min : 0x0
+zero_min * zero_min * float_max : 0x0
+zero_plus / zero_min : NaN
+zero_plus / zero_plus : NaN
+zero_plus / zero : NaN
+zero_plus / NaN : NaN
+zero_plus / Inf_plus : 0x0
+zero_plus / Inf_min : 0x0
+zero_plus / Inf : 0x0
+zero_plus / long_max : 0x0
+zero_plus / long_min : 0x0
+zero_plus / int_max : 0x0
+zero_plus / int_min : 0x0
+zero_plus / uint_max : 0x0
+zero_plus / ulong_max : 0x0
+zero_plus / double_min : 0x0
+zero_plus / double_max : 0x0
+zero_plus / float_min : 0x0
+zero_plus / float_max : 0x0
+zero_plus * zero_min : 0x0
+zero_plus * zero_plus : 0x0
+zero_plus * zero : 0x0
+zero_plus * NaN : NaN
+zero_plus * Inf_plus : NaN
+zero_plus * Inf_min : NaN
+zero_plus * Inf : NaN
+zero_plus * long_max : 0x0
+zero_plus * long_min : 0x0
+zero_plus * int_max : 0x0
+zero_plus * int_min : 0x0
+zero_plus * uint_max : 0x0
+zero_plus * ulong_max : 0x0
+zero_plus * double_min : 0x0
+zero_plus * double_max : 0x0
+zero_plus * float_min : 0x0
+zero_plus * float_max : 0x0
+zero_plus + zero_min : 0x0
+zero_plus + zero_plus : 0x0
+zero_plus + zero : 0x0
+zero_plus + NaN : NaN
+zero_plus + Inf_plus : Inf
+zero_plus + Inf_min : -Inf
+zero_plus + Inf : Inf
+zero_plus + long_max : 0x08e+15
+zero_plus + long_min : 0x8e+15
+zero_plus + int_max : 0x7fffffff
+zero_plus + int_min : 0x8e+7
+zero_plus + uint_max : 0x0ffffffff
+zero_plus + ulong_max : 0x1e+16
+zero_plus + double_min : 0x.4e-255
+zero_plus + double_max : 0x0fffffffffffff8e+242
+zero_plus + float_min : 0x.4e-31
+zero_plus + float_max : 0x0ffffffe+26
+zero_plus - zero_min : 0x0
+zero_plus - zero_plus : 0x0
+zero_plus - zero : 0x0
+zero_plus - NaN : NaN
+zero_plus - Inf_plus : -Inf
+zero_plus - Inf_min : Inf
+zero_plus - Inf : -Inf
+zero_plus - long_max : 0x8e+15
+zero_plus - long_min : 0x08e+15
+zero_plus - int_max : 0x80000001
+zero_plus - int_min : 0x08e+7
+zero_plus - uint_max : 0xf00000001
+zero_plus - ulong_max : 0xfe+16
+zero_plus - double_min : 0x.ce-255
+zero_plus - double_max : 0xf00000000000008e+242
+zero_plus - float_min : 0x.ce-31
+zero_plus - float_max : 0xf000001e+26
+zero_plus > zero_min : 0x0
+zero_plus > zero_plus : 0x0
+zero_plus > zero : 0x0
+zero_plus > NaN : 0x0
+zero_plus > Inf_plus : 0x0
+zero_plus > Inf_min : 0x1
+zero_plus > Inf : 0x0
+zero_plus > long_max : 0x0
+zero_plus > long_min : 0x1
+zero_plus > int_max : 0x0
+zero_plus > int_min : 0x1
+zero_plus > uint_max : 0x0
+zero_plus > ulong_max : 0x0
+zero_plus > double_min : 0x0
+zero_plus > double_max : 0x0
+zero_plus > float_min : 0x0
+zero_plus > float_max : 0x0
+zero_plus < zero_min : 0x0
+zero_plus < zero_plus : 0x0
+zero_plus < zero : 0x0
+zero_plus < NaN : 0x0
+zero_plus < Inf_plus : 0x1
+zero_plus < Inf_min : 0x0
+zero_plus < Inf : 0x1
+zero_plus < long_max : 0x1
+zero_plus < long_min : 0x0
+zero_plus < int_max : 0x1
+zero_plus < int_min : 0x0
+zero_plus < uint_max : 0x1
+zero_plus < ulong_max : 0x1
+zero_plus < double_min : 0x1
+zero_plus < double_max : 0x1
+zero_plus < float_min : 0x1
+zero_plus < float_max : 0x1
+zero_plus >= zero_min : 0x1
+zero_plus >= zero_plus : 0x1
+zero_plus >= zero : 0x1
+zero_plus >= NaN : 0x0
+zero_plus >= Inf_plus : 0x0
+zero_plus >= Inf_min : 0x1
+zero_plus >= Inf : 0x0
+zero_plus >= long_max : 0x0
+zero_plus >= long_min : 0x1
+zero_plus >= int_max : 0x0
+zero_plus >= int_min : 0x1
+zero_plus >= uint_max : 0x0
+zero_plus >= ulong_max : 0x0
+zero_plus >= double_min : 0x0
+zero_plus >= double_max : 0x0
+zero_plus >= float_min : 0x0
+zero_plus >= float_max : 0x0
+zero_plus <= zero_min : 0x1
+zero_plus <= zero_plus : 0x1
+zero_plus <= zero : 0x1
+zero_plus <= NaN : 0x0
+zero_plus <= Inf_plus : 0x1
+zero_plus <= Inf_min : 0x0
+zero_plus <= Inf : 0x1
+zero_plus <= long_max : 0x1
+zero_plus <= long_min : 0x0
+zero_plus <= int_max : 0x1
+zero_plus <= int_min : 0x0
+zero_plus <= uint_max : 0x1
+zero_plus <= ulong_max : 0x1
+zero_plus <= double_min : 0x1
+zero_plus <= double_max : 0x1
+zero_plus <= float_min : 0x1
+zero_plus <= float_max : 0x1
+zero_plus == zero_min : 0x1
+zero_plus == zero_plus : 0x1
+zero_plus == zero : 0x1
+zero_plus == NaN : 0x0
+zero_plus == Inf_plus : 0x0
+zero_plus == Inf_min : 0x0
+zero_plus == Inf : 0x0
+zero_plus == long_max : 0x0
+zero_plus == long_min : 0x0
+zero_plus == int_max : 0x0
+zero_plus == int_min : 0x0
+zero_plus == uint_max : 0x0
+zero_plus == ulong_max : 0x0
+zero_plus == double_min : 0x0
+zero_plus == double_max : 0x0
+zero_plus == float_min : 0x0
+zero_plus == float_max : 0x0
+zero_plus != zero_min : 0x0
+zero_plus != zero_plus : 0x0
+zero_plus != zero : 0x0
+zero_plus != NaN : 0x1
+zero_plus != Inf_plus : 0x1
+zero_plus != Inf_min : 0x1
+zero_plus != Inf : 0x1
+zero_plus != long_max : 0x1
+zero_plus != long_min : 0x1
+zero_plus != int_max : 0x1
+zero_plus != int_min : 0x1
+zero_plus != uint_max : 0x1
+zero_plus != ulong_max : 0x1
+zero_plus != double_min : 0x1
+zero_plus != double_max : 0x1
+zero_plus != float_min : 0x1
+zero_plus != float_max : 0x1
+zero_plus * zero_plus * zero_min : 0x0
+zero_plus * zero_plus * zero_plus : 0x0
+zero_plus * zero_plus * zero : 0x0
+zero_plus * zero_plus * NaN : NaN
+zero_plus * zero_plus * Inf_plus : NaN
+zero_plus * zero_plus * Inf_min : NaN
+zero_plus * zero_plus * Inf : NaN
+zero_plus * zero_plus * long_max : 0x0
+zero_plus * zero_plus * long_min : 0x0
+zero_plus * zero_plus * int_max : 0x0
+zero_plus * zero_plus * int_min : 0x0
+zero_plus * zero_plus * uint_max : 0x0
+zero_plus * zero_plus * ulong_max : 0x0
+zero_plus * zero_plus * double_min : 0x0
+zero_plus * zero_plus * double_max : 0x0
+zero_plus * zero_plus * float_min : 0x0
+zero_plus * zero_plus * float_max : 0x0
+zero / zero_min : NaN
+zero / zero_plus : NaN
+zero / zero : NaN
+zero / NaN : NaN
+zero / Inf_plus : 0x0
+zero / Inf_min : 0x0
+zero / Inf : 0x0
+zero / long_max : 0x0
+zero / long_min : 0x0
+zero / int_max : 0x0
+zero / int_min : 0x0
+zero / uint_max : 0x0
+zero / ulong_max : 0x0
+zero / double_min : 0x0
+zero / double_max : 0x0
+zero / float_min : 0x0
+zero / float_max : 0x0
+zero * zero_min : 0x0
+zero * zero_plus : 0x0
+zero * zero : 0x0
+zero * NaN : NaN
+zero * Inf_plus : NaN
+zero * Inf_min : NaN
+zero * Inf : NaN
+zero * long_max : 0x0
+zero * long_min : 0x0
+zero * int_max : 0x0
+zero * int_min : 0x0
+zero * uint_max : 0x0
+zero * ulong_max : 0x0
+zero * double_min : 0x0
+zero * double_max : 0x0
+zero * float_min : 0x0
+zero * float_max : 0x0
+zero + zero_min : 0x0
+zero + zero_plus : 0x0
+zero + zero : 0x0
+zero + NaN : NaN
+zero + Inf_plus : Inf
+zero + Inf_min : -Inf
+zero + Inf : Inf
+zero + long_max : 0x08e+15
+zero + long_min : 0x8e+15
+zero + int_max : 0x7fffffff
+zero + int_min : 0x8e+7
+zero + uint_max : 0x0ffffffff
+zero + ulong_max : 0x1e+16
+zero + double_min : 0x.4e-255
+zero + double_max : 0x0fffffffffffff8e+242
+zero + float_min : 0x.4e-31
+zero + float_max : 0x0ffffffe+26
+zero - zero_min : 0x0
+zero - zero_plus : 0x0
+zero - zero : 0x0
+zero - NaN : NaN
+zero - Inf_plus : -Inf
+zero - Inf_min : Inf
+zero - Inf : -Inf
+zero - long_max : 0x8e+15
+zero - long_min : 0x08e+15
+zero - int_max : 0x80000001
+zero - int_min : 0x08e+7
+zero - uint_max : 0xf00000001
+zero - ulong_max : 0xfe+16
+zero - double_min : 0x.ce-255
+zero - double_max : 0xf00000000000008e+242
+zero - float_min : 0x.ce-31
+zero - float_max : 0xf000001e+26
+zero > zero_min : 0x0
+zero > zero_plus : 0x0
+zero > zero : 0x0
+zero > NaN : 0x0
+zero > Inf_plus : 0x0
+zero > Inf_min : 0x1
+zero > Inf : 0x0
+zero > long_max : 0x0
+zero > long_min : 0x1
+zero > int_max : 0x0
+zero > int_min : 0x1
+zero > uint_max : 0x0
+zero > ulong_max : 0x0
+zero > double_min : 0x0
+zero > double_max : 0x0
+zero > float_min : 0x0
+zero > float_max : 0x0
+zero < zero_min : 0x0
+zero < zero_plus : 0x0
+zero < zero : 0x0
+zero < NaN : 0x0
+zero < Inf_plus : 0x1
+zero < Inf_min : 0x0
+zero < Inf : 0x1
+zero < long_max : 0x1
+zero < long_min : 0x0
+zero < int_max : 0x1
+zero < int_min : 0x0
+zero < uint_max : 0x1
+zero < ulong_max : 0x1
+zero < double_min : 0x1
+zero < double_max : 0x1
+zero < float_min : 0x1
+zero < float_max : 0x1
+zero >= zero_min : 0x1
+zero >= zero_plus : 0x1
+zero >= zero : 0x1
+zero >= NaN : 0x0
+zero >= Inf_plus : 0x0
+zero >= Inf_min : 0x1
+zero >= Inf : 0x0
+zero >= long_max : 0x0
+zero >= long_min : 0x1
+zero >= int_max : 0x0
+zero >= int_min : 0x1
+zero >= uint_max : 0x0
+zero >= ulong_max : 0x0
+zero >= double_min : 0x0
+zero >= double_max : 0x0
+zero >= float_min : 0x0
+zero >= float_max : 0x0
+zero <= zero_min : 0x1
+zero <= zero_plus : 0x1
+zero <= zero : 0x1
+zero <= NaN : 0x0
+zero <= Inf_plus : 0x1
+zero <= Inf_min : 0x0
+zero <= Inf : 0x1
+zero <= long_max : 0x1
+zero <= long_min : 0x0
+zero <= int_max : 0x1
+zero <= int_min : 0x0
+zero <= uint_max : 0x1
+zero <= ulong_max : 0x1
+zero <= double_min : 0x1
+zero <= double_max : 0x1
+zero <= float_min : 0x1
+zero <= float_max : 0x1
+zero == zero_min : 0x1
+zero == zero_plus : 0x1
+zero == zero : 0x1
+zero == NaN : 0x0
+zero == Inf_plus : 0x0
+zero == Inf_min : 0x0
+zero == Inf : 0x0
+zero == long_max : 0x0
+zero == long_min : 0x0
+zero == int_max : 0x0
+zero == int_min : 0x0
+zero == uint_max : 0x0
+zero == ulong_max : 0x0
+zero == double_min : 0x0
+zero == double_max : 0x0
+zero == float_min : 0x0
+zero == float_max : 0x0
+zero != zero_min : 0x0
+zero != zero_plus : 0x0
+zero != zero : 0x0
+zero != NaN : 0x1
+zero != Inf_plus : 0x1
+zero != Inf_min : 0x1
+zero != Inf : 0x1
+zero != long_max : 0x1
+zero != long_min : 0x1
+zero != int_max : 0x1
+zero != int_min : 0x1
+zero != uint_max : 0x1
+zero != ulong_max : 0x1
+zero != double_min : 0x1
+zero != double_max : 0x1
+zero != float_min : 0x1
+zero != float_max : 0x1
+zero * zero * zero_min : 0x0
+zero * zero * zero_plus : 0x0
+zero * zero * zero : 0x0
+zero * zero * NaN : NaN
+zero * zero * Inf_plus : NaN
+zero * zero * Inf_min : NaN
+zero * zero * Inf : NaN
+zero * zero * long_max : 0x0
+zero * zero * long_min : 0x0
+zero * zero * int_max : 0x0
+zero * zero * int_min : 0x0
+zero * zero * uint_max : 0x0
+zero * zero * ulong_max : 0x0
+zero * zero * double_min : 0x0
+zero * zero * double_max : 0x0
+zero * zero * float_min : 0x0
+zero * zero * float_max : 0x0
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x08e+15
+long_min : 0x8e+15
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x1e+16
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+NaN / zero_min : NaN
+NaN / zero_plus : NaN
+NaN / zero : NaN
+NaN / NaN : NaN
+NaN / Inf_plus : NaN
+NaN / Inf_min : NaN
+NaN / Inf : NaN
+NaN / long_max : NaN
+NaN / long_min : NaN
+NaN / int_max : NaN
+NaN / int_min : NaN
+NaN / uint_max : NaN
+NaN / ulong_max : NaN
+NaN / double_min : NaN
+NaN / double_max : NaN
+NaN / float_min : NaN
+NaN / float_max : NaN
+NaN * zero_min : NaN
+NaN * zero_plus : NaN
+NaN * zero : NaN
+NaN * NaN : NaN
+NaN * Inf_plus : NaN
+NaN * Inf_min : NaN
+NaN * Inf : NaN
+NaN * long_max : NaN
+NaN * long_min : NaN
+NaN * int_max : NaN
+NaN * int_min : NaN
+NaN * uint_max : NaN
+NaN * ulong_max : NaN
+NaN * double_min : NaN
+NaN * double_max : NaN
+NaN * float_min : NaN
+NaN * float_max : NaN
+NaN + zero_min : NaN
+NaN + zero_plus : NaN
+NaN + zero : NaN
+NaN + NaN : NaN
+NaN + Inf_plus : NaN
+NaN + Inf_min : NaN
+NaN + Inf : NaN
+NaN + long_max : NaN
+NaN + long_min : NaN
+NaN + int_max : NaN
+NaN + int_min : NaN
+NaN + uint_max : NaN
+NaN + ulong_max : NaN
+NaN + double_min : NaN
+NaN + double_max : NaN
+NaN + float_min : NaN
+NaN + float_max : NaN
+NaN - zero_min : NaN
+NaN - zero_plus : NaN
+NaN - zero : NaN
+NaN - NaN : NaN
+NaN - Inf_plus : NaN
+NaN - Inf_min : NaN
+NaN - Inf : NaN
+NaN - long_max : NaN
+NaN - long_min : NaN
+NaN - int_max : NaN
+NaN - int_min : NaN
+NaN - uint_max : NaN
+NaN - ulong_max : NaN
+NaN - double_min : NaN
+NaN - double_max : NaN
+NaN - float_min : NaN
+NaN - float_max : NaN
+NaN > zero_min : 0x0
+NaN > zero_plus : 0x0
+NaN > zero : 0x0
+NaN > NaN : 0x0
+NaN > Inf_plus : 0x0
+NaN > Inf_min : 0x0
+NaN > Inf : 0x0
+NaN > long_max : 0x0
+NaN > long_min : 0x0
+NaN > int_max : 0x0
+NaN > int_min : 0x0
+NaN > uint_max : 0x0
+NaN > ulong_max : 0x0
+NaN > double_min : 0x0
+NaN > double_max : 0x0
+NaN > float_min : 0x0
+NaN > float_max : 0x0
+NaN < zero_min : 0x0
+NaN < zero_plus : 0x0
+NaN < zero : 0x0
+NaN < NaN : 0x0
+NaN < Inf_plus : 0x0
+NaN < Inf_min : 0x0
+NaN < Inf : 0x0
+NaN < long_max : 0x0
+NaN < long_min : 0x0
+NaN < int_max : 0x0
+NaN < int_min : 0x0
+NaN < uint_max : 0x0
+NaN < ulong_max : 0x0
+NaN < double_min : 0x0
+NaN < double_max : 0x0
+NaN < float_min : 0x0
+NaN < float_max : 0x0
+NaN >= zero_min : 0x0
+NaN >= zero_plus : 0x0
+NaN >= zero : 0x0
+NaN >= NaN : 0x0
+NaN >= Inf_plus : 0x0
+NaN >= Inf_min : 0x0
+NaN >= Inf : 0x0
+NaN >= long_max : 0x0
+NaN >= long_min : 0x0
+NaN >= int_max : 0x0
+NaN >= int_min : 0x0
+NaN >= uint_max : 0x0
+NaN >= ulong_max : 0x0
+NaN >= double_min : 0x0
+NaN >= double_max : 0x0
+NaN >= float_min : 0x0
+NaN >= float_max : 0x0
+NaN <= zero_min : 0x0
+NaN <= zero_plus : 0x0
+NaN <= zero : 0x0
+NaN <= NaN : 0x0
+NaN <= Inf_plus : 0x0
+NaN <= Inf_min : 0x0
+NaN <= Inf : 0x0
+NaN <= long_max : 0x0
+NaN <= long_min : 0x0
+NaN <= int_max : 0x0
+NaN <= int_min : 0x0
+NaN <= uint_max : 0x0
+NaN <= ulong_max : 0x0
+NaN <= double_min : 0x0
+NaN <= double_max : 0x0
+NaN <= float_min : 0x0
+NaN <= float_max : 0x0
+NaN == zero_min : 0x0
+NaN == zero_plus : 0x0
+NaN == zero : 0x0
+NaN == NaN : 0x0
+NaN == Inf_plus : 0x0
+NaN == Inf_min : 0x0
+NaN == Inf : 0x0
+NaN == long_max : 0x0
+NaN == long_min : 0x0
+NaN == int_max : 0x0
+NaN == int_min : 0x0
+NaN == uint_max : 0x0
+NaN == ulong_max : 0x0
+NaN == double_min : 0x0
+NaN == double_max : 0x0
+NaN == float_min : 0x0
+NaN == float_max : 0x0
+NaN != zero_min : 0x1
+NaN != zero_plus : 0x1
+NaN != zero : 0x1
+NaN != NaN : 0x1
+NaN != Inf_plus : 0x1
+NaN != Inf_min : 0x1
+NaN != Inf : 0x1
+NaN != long_max : 0x1
+NaN != long_min : 0x1
+NaN != int_max : 0x1
+NaN != int_min : 0x1
+NaN != uint_max : 0x1
+NaN != ulong_max : 0x1
+NaN != double_min : 0x1
+NaN != double_max : 0x1
+NaN != float_min : 0x1
+NaN != float_max : 0x1
+NaN * NaN * zero_min : NaN
+NaN * NaN * zero_plus : NaN
+NaN * NaN * zero : NaN
+NaN * NaN * NaN : NaN
+NaN * NaN * Inf_plus : NaN
+NaN * NaN * Inf_min : NaN
+NaN * NaN * Inf : NaN
+NaN * NaN * long_max : NaN
+NaN * NaN * long_min : NaN
+NaN * NaN * int_max : NaN
+NaN * NaN * int_min : NaN
+NaN * NaN * uint_max : NaN
+NaN * NaN * ulong_max : NaN
+NaN * NaN * double_min : NaN
+NaN * NaN * double_max : NaN
+NaN * NaN * float_min : NaN
+NaN * NaN * float_max : NaN
+Inf_plus / zero_min : -Inf
+Inf_plus / zero_plus : Inf
+Inf_plus / zero : Inf
+Inf_plus / NaN : NaN
+Inf_plus / Inf_plus : NaN
+Inf_plus / Inf_min : NaN
+Inf_plus / Inf : NaN
+Inf_plus / long_max : Inf
+Inf_plus / long_min : -Inf
+Inf_plus / int_max : Inf
+Inf_plus / int_min : -Inf
+Inf_plus / uint_max : Inf
+Inf_plus / ulong_max : Inf
+Inf_plus / double_min : Inf
+Inf_plus / double_max : Inf
+Inf_plus / float_min : Inf
+Inf_plus / float_max : Inf
+Inf_plus * zero_min : NaN
+Inf_plus * zero_plus : NaN
+Inf_plus * zero : NaN
+Inf_plus * NaN : NaN
+Inf_plus * Inf_plus : Inf
+Inf_plus * Inf_min : -Inf
+Inf_plus * Inf : Inf
+Inf_plus * long_max : Inf
+Inf_plus * long_min : -Inf
+Inf_plus * int_max : Inf
+Inf_plus * int_min : -Inf
+Inf_plus * uint_max : Inf
+Inf_plus * ulong_max : Inf
+Inf_plus * double_min : Inf
+Inf_plus * double_max : Inf
+Inf_plus * float_min : Inf
+Inf_plus * float_max : Inf
+Inf_plus + zero_min : Inf
+Inf_plus + zero_plus : Inf
+Inf_plus + zero : Inf
+Inf_plus + NaN : NaN
+Inf_plus + Inf_plus : Inf
+Inf_plus + Inf_min : NaN
+Inf_plus + Inf : Inf
+Inf_plus + long_max : Inf
+Inf_plus + long_min : Inf
+Inf_plus + int_max : Inf
+Inf_plus + int_min : Inf
+Inf_plus + uint_max : Inf
+Inf_plus + ulong_max : Inf
+Inf_plus + double_min : Inf
+Inf_plus + double_max : Inf
+Inf_plus + float_min : Inf
+Inf_plus + float_max : Inf
+Inf_plus - zero_min : Inf
+Inf_plus - zero_plus : Inf
+Inf_plus - zero : Inf
+Inf_plus - NaN : NaN
+Inf_plus - Inf_plus : NaN
+Inf_plus - Inf_min : Inf
+Inf_plus - Inf : NaN
+Inf_plus - long_max : Inf
+Inf_plus - long_min : Inf
+Inf_plus - int_max : Inf
+Inf_plus - int_min : Inf
+Inf_plus - uint_max : Inf
+Inf_plus - ulong_max : Inf
+Inf_plus - double_min : Inf
+Inf_plus - double_max : Inf
+Inf_plus - float_min : Inf
+Inf_plus - float_max : Inf
+Inf_plus > zero_min : 0x1
+Inf_plus > zero_plus : 0x1
+Inf_plus > zero : 0x1
+Inf_plus > NaN : 0x0
+Inf_plus > Inf_plus : 0x0
+Inf_plus > Inf_min : 0x1
+Inf_plus > Inf : 0x0
+Inf_plus > long_max : 0x1
+Inf_plus > long_min : 0x1
+Inf_plus > int_max : 0x1
+Inf_plus > int_min : 0x1
+Inf_plus > uint_max : 0x1
+Inf_plus > ulong_max : 0x1
+Inf_plus > double_min : 0x1
+Inf_plus > double_max : 0x1
+Inf_plus > float_min : 0x1
+Inf_plus > float_max : 0x1
+Inf_plus < zero_min : 0x0
+Inf_plus < zero_plus : 0x0
+Inf_plus < zero : 0x0
+Inf_plus < NaN : 0x0
+Inf_plus < Inf_plus : 0x0
+Inf_plus < Inf_min : 0x0
+Inf_plus < Inf : 0x0
+Inf_plus < long_max : 0x0
+Inf_plus < long_min : 0x0
+Inf_plus < int_max : 0x0
+Inf_plus < int_min : 0x0
+Inf_plus < uint_max : 0x0
+Inf_plus < ulong_max : 0x0
+Inf_plus < double_min : 0x0
+Inf_plus < double_max : 0x0
+Inf_plus < float_min : 0x0
+Inf_plus < float_max : 0x0
+Inf_plus >= zero_min : 0x1
+Inf_plus >= zero_plus : 0x1
+Inf_plus >= zero : 0x1
+Inf_plus >= NaN : 0x0
+Inf_plus >= Inf_plus : 0x1
+Inf_plus >= Inf_min : 0x1
+Inf_plus >= Inf : 0x1
+Inf_plus >= long_max : 0x1
+Inf_plus >= long_min : 0x1
+Inf_plus >= int_max : 0x1
+Inf_plus >= int_min : 0x1
+Inf_plus >= uint_max : 0x1
+Inf_plus >= ulong_max : 0x1
+Inf_plus >= double_min : 0x1
+Inf_plus >= double_max : 0x1
+Inf_plus >= float_min : 0x1
+Inf_plus >= float_max : 0x1
+Inf_plus <= zero_min : 0x0
+Inf_plus <= zero_plus : 0x0
+Inf_plus <= zero : 0x0
+Inf_plus <= NaN : 0x0
+Inf_plus <= Inf_plus : 0x1
+Inf_plus <= Inf_min : 0x0
+Inf_plus <= Inf : 0x1
+Inf_plus <= long_max : 0x0
+Inf_plus <= long_min : 0x0
+Inf_plus <= int_max : 0x0
+Inf_plus <= int_min : 0x0
+Inf_plus <= uint_max : 0x0
+Inf_plus <= ulong_max : 0x0
+Inf_plus <= double_min : 0x0
+Inf_plus <= double_max : 0x0
+Inf_plus <= float_min : 0x0
+Inf_plus <= float_max : 0x0
+Inf_plus == zero_min : 0x0
+Inf_plus == zero_plus : 0x0
+Inf_plus == zero : 0x0
+Inf_plus == NaN : 0x0
+Inf_plus == Inf_plus : 0x1
+Inf_plus == Inf_min : 0x0
+Inf_plus == Inf : 0x1
+Inf_plus == long_max : 0x0
+Inf_plus == long_min : 0x0
+Inf_plus == int_max : 0x0
+Inf_plus == int_min : 0x0
+Inf_plus == uint_max : 0x0
+Inf_plus == ulong_max : 0x0
+Inf_plus == double_min : 0x0
+Inf_plus == double_max : 0x0
+Inf_plus == float_min : 0x0
+Inf_plus == float_max : 0x0
+Inf_plus != zero_min : 0x1
+Inf_plus != zero_plus : 0x1
+Inf_plus != zero : 0x1
+Inf_plus != NaN : 0x1
+Inf_plus != Inf_plus : 0x0
+Inf_plus != Inf_min : 0x1
+Inf_plus != Inf : 0x0
+Inf_plus != long_max : 0x1
+Inf_plus != long_min : 0x1
+Inf_plus != int_max : 0x1
+Inf_plus != int_min : 0x1
+Inf_plus != uint_max : 0x1
+Inf_plus != ulong_max : 0x1
+Inf_plus != double_min : 0x1
+Inf_plus != double_max : 0x1
+Inf_plus != float_min : 0x1
+Inf_plus != float_max : 0x1
+Inf_plus * Inf_plus * zero_min : NaN
+Inf_plus * Inf_plus * zero_plus : NaN
+Inf_plus * Inf_plus * zero : NaN
+Inf_plus * Inf_plus * NaN : NaN
+Inf_plus * Inf_plus * Inf_plus : Inf
+Inf_plus * Inf_plus * Inf_min : -Inf
+Inf_plus * Inf_plus * Inf : Inf
+Inf_plus * Inf_plus * long_max : Inf
+Inf_plus * Inf_plus * long_min : -Inf
+Inf_plus * Inf_plus * int_max : Inf
+Inf_plus * Inf_plus * int_min : -Inf
+Inf_plus * Inf_plus * uint_max : Inf
+Inf_plus * Inf_plus * ulong_max : Inf
+Inf_plus * Inf_plus * double_min : Inf
+Inf_plus * Inf_plus * double_max : Inf
+Inf_plus * Inf_plus * float_min : Inf
+Inf_plus * Inf_plus * float_max : Inf
+Inf_min / zero_min : Inf
+Inf_min / zero_plus : -Inf
+Inf_min / zero : -Inf
+Inf_min / NaN : NaN
+Inf_min / Inf_plus : NaN
+Inf_min / Inf_min : NaN
+Inf_min / Inf : NaN
+Inf_min / long_max : -Inf
+Inf_min / long_min : Inf
+Inf_min / int_max : -Inf
+Inf_min / int_min : Inf
+Inf_min / uint_max : -Inf
+Inf_min / ulong_max : -Inf
+Inf_min / double_min : -Inf
+Inf_min / double_max : -Inf
+Inf_min / float_min : -Inf
+Inf_min / float_max : -Inf
+Inf_min * zero_min : NaN
+Inf_min * zero_plus : NaN
+Inf_min * zero : NaN
+Inf_min * NaN : NaN
+Inf_min * Inf_plus : -Inf
+Inf_min * Inf_min : Inf
+Inf_min * Inf : -Inf
+Inf_min * long_max : -Inf
+Inf_min * long_min : Inf
+Inf_min * int_max : -Inf
+Inf_min * int_min : Inf
+Inf_min * uint_max : -Inf
+Inf_min * ulong_max : -Inf
+Inf_min * double_min : -Inf
+Inf_min * double_max : -Inf
+Inf_min * float_min : -Inf
+Inf_min * float_max : -Inf
+Inf_min + zero_min : -Inf
+Inf_min + zero_plus : -Inf
+Inf_min + zero : -Inf
+Inf_min + NaN : NaN
+Inf_min + Inf_plus : NaN
+Inf_min + Inf_min : -Inf
+Inf_min + Inf : NaN
+Inf_min + long_max : -Inf
+Inf_min + long_min : -Inf
+Inf_min + int_max : -Inf
+Inf_min + int_min : -Inf
+Inf_min + uint_max : -Inf
+Inf_min + ulong_max : -Inf
+Inf_min + double_min : -Inf
+Inf_min + double_max : -Inf
+Inf_min + float_min : -Inf
+Inf_min + float_max : -Inf
+Inf_min - zero_min : -Inf
+Inf_min - zero_plus : -Inf
+Inf_min - zero : -Inf
+Inf_min - NaN : NaN
+Inf_min - Inf_plus : -Inf
+Inf_min - Inf_min : NaN
+Inf_min - Inf : -Inf
+Inf_min - long_max : -Inf
+Inf_min - long_min : -Inf
+Inf_min - int_max : -Inf
+Inf_min - int_min : -Inf
+Inf_min - uint_max : -Inf
+Inf_min - ulong_max : -Inf
+Inf_min - double_min : -Inf
+Inf_min - double_max : -Inf
+Inf_min - float_min : -Inf
+Inf_min - float_max : -Inf
+Inf_min > zero_min : 0x0
+Inf_min > zero_plus : 0x0
+Inf_min > zero : 0x0
+Inf_min > NaN : 0x0
+Inf_min > Inf_plus : 0x0
+Inf_min > Inf_min : 0x0
+Inf_min > Inf : 0x0
+Inf_min > long_max : 0x0
+Inf_min > long_min : 0x0
+Inf_min > int_max : 0x0
+Inf_min > int_min : 0x0
+Inf_min > uint_max : 0x0
+Inf_min > ulong_max : 0x0
+Inf_min > double_min : 0x0
+Inf_min > double_max : 0x0
+Inf_min > float_min : 0x0
+Inf_min > float_max : 0x0
+Inf_min < zero_min : 0x1
+Inf_min < zero_plus : 0x1
+Inf_min < zero : 0x1
+Inf_min < NaN : 0x0
+Inf_min < Inf_plus : 0x1
+Inf_min < Inf_min : 0x0
+Inf_min < Inf : 0x1
+Inf_min < long_max : 0x1
+Inf_min < long_min : 0x1
+Inf_min < int_max : 0x1
+Inf_min < int_min : 0x1
+Inf_min < uint_max : 0x1
+Inf_min < ulong_max : 0x1
+Inf_min < double_min : 0x1
+Inf_min < double_max : 0x1
+Inf_min < float_min : 0x1
+Inf_min < float_max : 0x1
+Inf_min >= zero_min : 0x0
+Inf_min >= zero_plus : 0x0
+Inf_min >= zero : 0x0
+Inf_min >= NaN : 0x0
+Inf_min >= Inf_plus : 0x0
+Inf_min >= Inf_min : 0x1
+Inf_min >= Inf : 0x0
+Inf_min >= long_max : 0x0
+Inf_min >= long_min : 0x0
+Inf_min >= int_max : 0x0
+Inf_min >= int_min : 0x0
+Inf_min >= uint_max : 0x0
+Inf_min >= ulong_max : 0x0
+Inf_min >= double_min : 0x0
+Inf_min >= double_max : 0x0
+Inf_min >= float_min : 0x0
+Inf_min >= float_max : 0x0
+Inf_min <= zero_min : 0x1
+Inf_min <= zero_plus : 0x1
+Inf_min <= zero : 0x1
+Inf_min <= NaN : 0x0
+Inf_min <= Inf_plus : 0x1
+Inf_min <= Inf_min : 0x1
+Inf_min <= Inf : 0x1
+Inf_min <= long_max : 0x1
+Inf_min <= long_min : 0x1
+Inf_min <= int_max : 0x1
+Inf_min <= int_min : 0x1
+Inf_min <= uint_max : 0x1
+Inf_min <= ulong_max : 0x1
+Inf_min <= double_min : 0x1
+Inf_min <= double_max : 0x1
+Inf_min <= float_min : 0x1
+Inf_min <= float_max : 0x1
+Inf_min == zero_min : 0x0
+Inf_min == zero_plus : 0x0
+Inf_min == zero : 0x0
+Inf_min == NaN : 0x0
+Inf_min == Inf_plus : 0x0
+Inf_min == Inf_min : 0x1
+Inf_min == Inf : 0x0
+Inf_min == long_max : 0x0
+Inf_min == long_min : 0x0
+Inf_min == int_max : 0x0
+Inf_min == int_min : 0x0
+Inf_min == uint_max : 0x0
+Inf_min == ulong_max : 0x0
+Inf_min == double_min : 0x0
+Inf_min == double_max : 0x0
+Inf_min == float_min : 0x0
+Inf_min == float_max : 0x0
+Inf_min != zero_min : 0x1
+Inf_min != zero_plus : 0x1
+Inf_min != zero : 0x1
+Inf_min != NaN : 0x1
+Inf_min != Inf_plus : 0x1
+Inf_min != Inf_min : 0x0
+Inf_min != Inf : 0x1
+Inf_min != long_max : 0x1
+Inf_min != long_min : 0x1
+Inf_min != int_max : 0x1
+Inf_min != int_min : 0x1
+Inf_min != uint_max : 0x1
+Inf_min != ulong_max : 0x1
+Inf_min != double_min : 0x1
+Inf_min != double_max : 0x1
+Inf_min != float_min : 0x1
+Inf_min != float_max : 0x1
+Inf_min * Inf_min * zero_min : NaN
+Inf_min * Inf_min * zero_plus : NaN
+Inf_min * Inf_min * zero : NaN
+Inf_min * Inf_min * NaN : NaN
+Inf_min * Inf_min * Inf_plus : Inf
+Inf_min * Inf_min * Inf_min : -Inf
+Inf_min * Inf_min * Inf : Inf
+Inf_min * Inf_min * long_max : Inf
+Inf_min * Inf_min * long_min : -Inf
+Inf_min * Inf_min * int_max : Inf
+Inf_min * Inf_min * int_min : -Inf
+Inf_min * Inf_min * uint_max : Inf
+Inf_min * Inf_min * ulong_max : Inf
+Inf_min * Inf_min * double_min : Inf
+Inf_min * Inf_min * double_max : Inf
+Inf_min * Inf_min * float_min : Inf
+Inf_min * Inf_min * float_max : Inf
+Inf / zero_min : -Inf
+Inf / zero_plus : Inf
+Inf / zero : Inf
+Inf / NaN : NaN
+Inf / Inf_plus : NaN
+Inf / Inf_min : NaN
+Inf / Inf : NaN
+Inf / long_max : Inf
+Inf / long_min : -Inf
+Inf / int_max : Inf
+Inf / int_min : -Inf
+Inf / uint_max : Inf
+Inf / ulong_max : Inf
+Inf / double_min : Inf
+Inf / double_max : Inf
+Inf / float_min : Inf
+Inf / float_max : Inf
+Inf * zero_min : NaN
+Inf * zero_plus : NaN
+Inf * zero : NaN
+Inf * NaN : NaN
+Inf * Inf_plus : Inf
+Inf * Inf_min : -Inf
+Inf * Inf : Inf
+Inf * long_max : Inf
+Inf * long_min : -Inf
+Inf * int_max : Inf
+Inf * int_min : -Inf
+Inf * uint_max : Inf
+Inf * ulong_max : Inf
+Inf * double_min : Inf
+Inf * double_max : Inf
+Inf * float_min : Inf
+Inf * float_max : Inf
+Inf + zero_min : Inf
+Inf + zero_plus : Inf
+Inf + zero : Inf
+Inf + NaN : NaN
+Inf + Inf_plus : Inf
+Inf + Inf_min : NaN
+Inf + Inf : Inf
+Inf + long_max : Inf
+Inf + long_min : Inf
+Inf + int_max : Inf
+Inf + int_min : Inf
+Inf + uint_max : Inf
+Inf + ulong_max : Inf
+Inf + double_min : Inf
+Inf + double_max : Inf
+Inf + float_min : Inf
+Inf + float_max : Inf
+Inf - zero_min : Inf
+Inf - zero_plus : Inf
+Inf - zero : Inf
+Inf - NaN : NaN
+Inf - Inf_plus : NaN
+Inf - Inf_min : Inf
+Inf - Inf : NaN
+Inf - long_max : Inf
+Inf - long_min : Inf
+Inf - int_max : Inf
+Inf - int_min : Inf
+Inf - uint_max : Inf
+Inf - ulong_max : Inf
+Inf - double_min : Inf
+Inf - double_max : Inf
+Inf - float_min : Inf
+Inf - float_max : Inf
+Inf > zero_min : 0x1
+Inf > zero_plus : 0x1
+Inf > zero : 0x1
+Inf > NaN : 0x0
+Inf > Inf_plus : 0x0
+Inf > Inf_min : 0x1
+Inf > Inf : 0x0
+Inf > long_max : 0x1
+Inf > long_min : 0x1
+Inf > int_max : 0x1
+Inf > int_min : 0x1
+Inf > uint_max : 0x1
+Inf > ulong_max : 0x1
+Inf > double_min : 0x1
+Inf > double_max : 0x1
+Inf > float_min : 0x1
+Inf > float_max : 0x1
+Inf < zero_min : 0x0
+Inf < zero_plus : 0x0
+Inf < zero : 0x0
+Inf < NaN : 0x0
+Inf < Inf_plus : 0x0
+Inf < Inf_min : 0x0
+Inf < Inf : 0x0
+Inf < long_max : 0x0
+Inf < long_min : 0x0
+Inf < int_max : 0x0
+Inf < int_min : 0x0
+Inf < uint_max : 0x0
+Inf < ulong_max : 0x0
+Inf < double_min : 0x0
+Inf < double_max : 0x0
+Inf < float_min : 0x0
+Inf < float_max : 0x0
+Inf >= zero_min : 0x1
+Inf >= zero_plus : 0x1
+Inf >= zero : 0x1
+Inf >= NaN : 0x0
+Inf >= Inf_plus : 0x1
+Inf >= Inf_min : 0x1
+Inf >= Inf : 0x1
+Inf >= long_max : 0x1
+Inf >= long_min : 0x1
+Inf >= int_max : 0x1
+Inf >= int_min : 0x1
+Inf >= uint_max : 0x1
+Inf >= ulong_max : 0x1
+Inf >= double_min : 0x1
+Inf >= double_max : 0x1
+Inf >= float_min : 0x1
+Inf >= float_max : 0x1
+Inf <= zero_min : 0x0
+Inf <= zero_plus : 0x0
+Inf <= zero : 0x0
+Inf <= NaN : 0x0
+Inf <= Inf_plus : 0x1
+Inf <= Inf_min : 0x0
+Inf <= Inf : 0x1
+Inf <= long_max : 0x0
+Inf <= long_min : 0x0
+Inf <= int_max : 0x0
+Inf <= int_min : 0x0
+Inf <= uint_max : 0x0
+Inf <= ulong_max : 0x0
+Inf <= double_min : 0x0
+Inf <= double_max : 0x0
+Inf <= float_min : 0x0
+Inf <= float_max : 0x0
+Inf == zero_min : 0x0
+Inf == zero_plus : 0x0
+Inf == zero : 0x0
+Inf == NaN : 0x0
+Inf == Inf_plus : 0x1
+Inf == Inf_min : 0x0
+Inf == Inf : 0x1
+Inf == long_max : 0x0
+Inf == long_min : 0x0
+Inf == int_max : 0x0
+Inf == int_min : 0x0
+Inf == uint_max : 0x0
+Inf == ulong_max : 0x0
+Inf == double_min : 0x0
+Inf == double_max : 0x0
+Inf == float_min : 0x0
+Inf == float_max : 0x0
+Inf != zero_min : 0x1
+Inf != zero_plus : 0x1
+Inf != zero : 0x1
+Inf != NaN : 0x1
+Inf != Inf_plus : 0x0
+Inf != Inf_min : 0x1
+Inf != Inf : 0x0
+Inf != long_max : 0x1
+Inf != long_min : 0x1
+Inf != int_max : 0x1
+Inf != int_min : 0x1
+Inf != uint_max : 0x1
+Inf != ulong_max : 0x1
+Inf != double_min : 0x1
+Inf != double_max : 0x1
+Inf != float_min : 0x1
+Inf != float_max : 0x1
+Inf * Inf * zero_min : NaN
+Inf * Inf * zero_plus : NaN
+Inf * Inf * zero : NaN
+Inf * Inf * NaN : NaN
+Inf * Inf * Inf_plus : Inf
+Inf * Inf * Inf_min : -Inf
+Inf * Inf * Inf : Inf
+Inf * Inf * long_max : Inf
+Inf * Inf * long_min : -Inf
+Inf * Inf * int_max : Inf
+Inf * Inf * int_min : -Inf
+Inf * Inf * uint_max : Inf
+Inf * Inf * ulong_max : Inf
+Inf * Inf * double_min : Inf
+Inf * Inf * double_max : Inf
+Inf * Inf * float_min : Inf
+Inf * Inf * float_max : Inf
+****************** limits fx_float_long
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x08e+15
+long_min : 0x8e+15
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x1e+16
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+long_max / zero_min : -Inf
+long_max / zero_plus : Inf
+long_max / zero : Inf
+long_max / NaN : NaN
+long_max / Inf_plus : 0x0
+long_max / Inf_min : 0x0
+long_max / Inf : 0x0
+long_max / long_max : 0x1
+long_max / long_min : 0xf
+long_max / int_max : 0x100000002
+long_max / int_min : 0xfe+8
+long_max / uint_max : 0x080000000.8
+long_max / ulong_max : 0x0.8
+long_max / double_min : Inf
+long_max / double_max : 0x.080000000000008e-239
+long_max / float_min : 0x2e+47
+long_max / float_max : 0x.08000008000008e-15
+long_max * zero_min : 0x0
+long_max * zero_plus : 0x0
+long_max * zero : 0x0
+long_max * NaN : NaN
+long_max * Inf_plus : Inf
+long_max * Inf_min : -Inf
+long_max * Inf : Inf
+long_max * long_max : 0x4e+31
+long_max * long_min : 0xce+31
+long_max * int_max : 0x3fffffff8e+15
+long_max * int_min : 0xce+23
+long_max * uint_max : 0x7fffffff8e+15
+long_max * ulong_max : 0x08e+31
+long_max * double_min : 0x.2e-239
+long_max * double_max : Inf
+long_max * float_min : 0x.2e-15
+long_max * float_max : 0x7fffff8e+41
+long_max + zero_min : 0x08e+15
+long_max + zero_plus : 0x08e+15
+long_max + zero : 0x08e+15
+long_max + NaN : NaN
+long_max + Inf_plus : Inf
+long_max + Inf_min : -Inf
+long_max + Inf : Inf
+long_max + long_max : 0x1e+16
+long_max + long_min : 0x0
+long_max + int_max : 0x0800000008e+7
+long_max + int_min : 0x7fffffff8e+7
+long_max + uint_max : 0x080000001e+8
+long_max + ulong_max : 0x18e+15
+long_max + double_min : 0x08e+15
+long_max + double_max : 0x0fffffffffffff8e+242
+long_max + float_min : 0x08e+15
+long_max + float_max : 0x0ffffffe+26
+long_max - zero_min : 0x08e+15
+long_max - zero_plus : 0x08e+15
+long_max - zero : 0x08e+15
+long_max - NaN : NaN
+long_max - Inf_plus : -Inf
+long_max - Inf_min : Inf
+long_max - Inf : -Inf
+long_max - long_max : 0x0
+long_max - long_min : 0x1e+16
+long_max - int_max : 0x7fffffff8e+7
+long_max - int_min : 0x0800000008e+7
+long_max - uint_max : 0x7fffffffe+8
+long_max - ulong_max : 0x8e+15
+long_max - double_min : 0x08e+15
+long_max - double_max : 0xf00000000000008e+242
+long_max - float_min : 0x08e+15
+long_max - float_max : 0xf000001e+26
+long_max > zero_min : 0x1
+long_max > zero_plus : 0x1
+long_max > zero : 0x1
+long_max > NaN : 0x0
+long_max > Inf_plus : 0x0
+long_max > Inf_min : 0x1
+long_max > Inf : 0x0
+long_max > long_max : 0x0
+long_max > long_min : 0x1
+long_max > int_max : 0x1
+long_max > int_min : 0x1
+long_max > uint_max : 0x1
+long_max > ulong_max : 0x0
+long_max > double_min : 0x1
+long_max > double_max : 0x0
+long_max > float_min : 0x1
+long_max > float_max : 0x0
+long_max < zero_min : 0x0
+long_max < zero_plus : 0x0
+long_max < zero : 0x0
+long_max < NaN : 0x0
+long_max < Inf_plus : 0x1
+long_max < Inf_min : 0x0
+long_max < Inf : 0x1
+long_max < long_max : 0x0
+long_max < long_min : 0x0
+long_max < int_max : 0x0
+long_max < int_min : 0x0
+long_max < uint_max : 0x0
+long_max < ulong_max : 0x1
+long_max < double_min : 0x0
+long_max < double_max : 0x1
+long_max < float_min : 0x0
+long_max < float_max : 0x1
+long_max >= zero_min : 0x1
+long_max >= zero_plus : 0x1
+long_max >= zero : 0x1
+long_max >= NaN : 0x0
+long_max >= Inf_plus : 0x0
+long_max >= Inf_min : 0x1
+long_max >= Inf : 0x0
+long_max >= long_max : 0x1
+long_max >= long_min : 0x1
+long_max >= int_max : 0x1
+long_max >= int_min : 0x1
+long_max >= uint_max : 0x1
+long_max >= ulong_max : 0x0
+long_max >= double_min : 0x1
+long_max >= double_max : 0x0
+long_max >= float_min : 0x1
+long_max >= float_max : 0x0
+long_max <= zero_min : 0x0
+long_max <= zero_plus : 0x0
+long_max <= zero : 0x0
+long_max <= NaN : 0x0
+long_max <= Inf_plus : 0x1
+long_max <= Inf_min : 0x0
+long_max <= Inf : 0x1
+long_max <= long_max : 0x1
+long_max <= long_min : 0x0
+long_max <= int_max : 0x0
+long_max <= int_min : 0x0
+long_max <= uint_max : 0x0
+long_max <= ulong_max : 0x1
+long_max <= double_min : 0x0
+long_max <= double_max : 0x1
+long_max <= float_min : 0x0
+long_max <= float_max : 0x1
+long_max == zero_min : 0x0
+long_max == zero_plus : 0x0
+long_max == zero : 0x0
+long_max == NaN : 0x0
+long_max == Inf_plus : 0x0
+long_max == Inf_min : 0x0
+long_max == Inf : 0x0
+long_max == long_max : 0x1
+long_max == long_min : 0x0
+long_max == int_max : 0x0
+long_max == int_min : 0x0
+long_max == uint_max : 0x0
+long_max == ulong_max : 0x0
+long_max == double_min : 0x0
+long_max == double_max : 0x0
+long_max == float_min : 0x0
+long_max == float_max : 0x0
+long_max != zero_min : 0x1
+long_max != zero_plus : 0x1
+long_max != zero : 0x1
+long_max != NaN : 0x1
+long_max != Inf_plus : 0x1
+long_max != Inf_min : 0x1
+long_max != Inf : 0x1
+long_max != long_max : 0x0
+long_max != long_min : 0x1
+long_max != int_max : 0x1
+long_max != int_min : 0x1
+long_max != uint_max : 0x1
+long_max != ulong_max : 0x1
+long_max != double_min : 0x1
+long_max != double_max : 0x1
+long_max != float_min : 0x1
+long_max != float_max : 0x1
+long_max * long_max * zero_min : 0x0
+long_max * long_max * zero_plus : 0x0
+long_max * long_max * zero : 0x0
+long_max * long_max * NaN : NaN
+long_max * long_max * Inf_plus : Inf
+long_max * long_max * Inf_min : -Inf
+long_max * long_max * Inf : Inf
+long_max * long_max * long_max : 0x2e+47
+long_max * long_max * long_min : 0xee+47
+long_max * long_max * int_max : 0x1fffffffce+31
+long_max * long_max * int_min : 0xee+39
+long_max * long_max * uint_max : 0x3fffffffce+31
+long_max * long_max * ulong_max : 0x4e+47
+long_max * long_max * double_min : 0x.1e-223
+long_max * long_max * double_max : Inf
+long_max * long_max * float_min : 0x1
+long_max * long_max * float_max : 0x3fffffce+57
+long_min / zero_min : Inf
+long_min / zero_plus : -Inf
+long_min / zero : -Inf
+long_min / NaN : NaN
+long_min / Inf_plus : 0x0
+long_min / Inf_min : 0x0
+long_min / Inf : 0x0
+long_min / long_max : 0xf
+long_min / long_min : 0x1
+long_min / int_max : 0xefffffffe
+long_min / int_min : 0x1e+8
+long_min / uint_max : 0xf7fffffff.8
+long_min / ulong_max : 0x.8
+long_min / double_min : -Inf
+long_min / double_max : 0x.f7ffffffffffff8e-239
+long_min / float_min : 0xee+47
+long_min / float_max : 0x.f7fffff7fffff8e-15
+long_min * zero_min : 0x0
+long_min * zero_plus : 0x0
+long_min * zero : 0x0
+long_min * NaN : NaN
+long_min * Inf_plus : -Inf
+long_min * Inf_min : Inf
+long_min * Inf : -Inf
+long_min * long_max : 0xce+31
+long_min * long_min : 0x4e+31
+long_min * int_max : 0xc00000008e+15
+long_min * int_min : 0x4e+23
+long_min * uint_max : 0x800000008e+15
+long_min * ulong_max : 0x8e+31
+long_min * double_min : 0x.ee-239
+long_min * double_max : -Inf
+long_min * float_min : 0x.ee-15
+long_min * float_max : 0x8000008e+41
+long_min + zero_min : 0x8e+15
+long_min + zero_plus : 0x8e+15
+long_min + zero : 0x8e+15
+long_min + NaN : NaN
+long_min + Inf_plus : Inf
+long_min + Inf_min : -Inf
+long_min + Inf : Inf
+long_min + long_max : 0x0
+long_min + long_min : 0xfe+16
+long_min + int_max : 0x800000008e+7
+long_min + int_min : 0xf7fffffff8e+7
+long_min + uint_max : 0x80000001e+8
+long_min + ulong_max : 0x08e+15
+long_min + double_min : 0x8e+15
+long_min + double_max : 0x0fffffffffffff8e+242
+long_min + float_min : 0x8e+15
+long_min + float_max : 0x0ffffffe+26
+long_min - zero_min : 0x8e+15
+long_min - zero_plus : 0x8e+15
+long_min - zero : 0x8e+15
+long_min - NaN : NaN
+long_min - Inf_plus : -Inf
+long_min - Inf_min : Inf
+long_min - Inf : -Inf
+long_min - long_max : 0xfe+16
+long_min - long_min : 0x0
+long_min - int_max : 0xf7fffffff8e+7
+long_min - int_min : 0x800000008e+7
+long_min - uint_max : 0xf7fffffffe+8
+long_min - ulong_max : 0xe8e+15
+long_min - double_min : 0x8e+15
+long_min - double_max : 0xf00000000000008e+242
+long_min - float_min : 0x8e+15
+long_min - float_max : 0xf000001e+26
+long_min > zero_min : 0x0
+long_min > zero_plus : 0x0
+long_min > zero : 0x0
+long_min > NaN : 0x0
+long_min > Inf_plus : 0x0
+long_min > Inf_min : 0x1
+long_min > Inf : 0x0
+long_min > long_max : 0x0
+long_min > long_min : 0x0
+long_min > int_max : 0x0
+long_min > int_min : 0x0
+long_min > uint_max : 0x0
+long_min > ulong_max : 0x0
+long_min > double_min : 0x0
+long_min > double_max : 0x0
+long_min > float_min : 0x0
+long_min > float_max : 0x0
+long_min < zero_min : 0x1
+long_min < zero_plus : 0x1
+long_min < zero : 0x1
+long_min < NaN : 0x0
+long_min < Inf_plus : 0x1
+long_min < Inf_min : 0x0
+long_min < Inf : 0x1
+long_min < long_max : 0x1
+long_min < long_min : 0x0
+long_min < int_max : 0x1
+long_min < int_min : 0x1
+long_min < uint_max : 0x1
+long_min < ulong_max : 0x1
+long_min < double_min : 0x1
+long_min < double_max : 0x1
+long_min < float_min : 0x1
+long_min < float_max : 0x1
+long_min >= zero_min : 0x0
+long_min >= zero_plus : 0x0
+long_min >= zero : 0x0
+long_min >= NaN : 0x0
+long_min >= Inf_plus : 0x0
+long_min >= Inf_min : 0x1
+long_min >= Inf : 0x0
+long_min >= long_max : 0x0
+long_min >= long_min : 0x1
+long_min >= int_max : 0x0
+long_min >= int_min : 0x0
+long_min >= uint_max : 0x0
+long_min >= ulong_max : 0x0
+long_min >= double_min : 0x0
+long_min >= double_max : 0x0
+long_min >= float_min : 0x0
+long_min >= float_max : 0x0
+long_min <= zero_min : 0x1
+long_min <= zero_plus : 0x1
+long_min <= zero : 0x1
+long_min <= NaN : 0x0
+long_min <= Inf_plus : 0x1
+long_min <= Inf_min : 0x0
+long_min <= Inf : 0x1
+long_min <= long_max : 0x1
+long_min <= long_min : 0x1
+long_min <= int_max : 0x1
+long_min <= int_min : 0x1
+long_min <= uint_max : 0x1
+long_min <= ulong_max : 0x1
+long_min <= double_min : 0x1
+long_min <= double_max : 0x1
+long_min <= float_min : 0x1
+long_min <= float_max : 0x1
+long_min == zero_min : 0x0
+long_min == zero_plus : 0x0
+long_min == zero : 0x0
+long_min == NaN : 0x0
+long_min == Inf_plus : 0x0
+long_min == Inf_min : 0x0
+long_min == Inf : 0x0
+long_min == long_max : 0x0
+long_min == long_min : 0x1
+long_min == int_max : 0x0
+long_min == int_min : 0x0
+long_min == uint_max : 0x0
+long_min == ulong_max : 0x0
+long_min == double_min : 0x0
+long_min == double_max : 0x0
+long_min == float_min : 0x0
+long_min == float_max : 0x0
+long_min != zero_min : 0x1
+long_min != zero_plus : 0x1
+long_min != zero : 0x1
+long_min != NaN : 0x1
+long_min != Inf_plus : 0x1
+long_min != Inf_min : 0x1
+long_min != Inf : 0x1
+long_min != long_max : 0x1
+long_min != long_min : 0x0
+long_min != int_max : 0x1
+long_min != int_min : 0x1
+long_min != uint_max : 0x1
+long_min != ulong_max : 0x1
+long_min != double_min : 0x1
+long_min != double_max : 0x1
+long_min != float_min : 0x1
+long_min != float_max : 0x1
+long_min * long_min * zero_min : 0x0
+long_min * long_min * zero_plus : 0x0
+long_min * long_min * zero : 0x0
+long_min * long_min * NaN : NaN
+long_min * long_min * Inf_plus : Inf
+long_min * long_min * Inf_min : -Inf
+long_min * long_min * Inf : Inf
+long_min * long_min * long_max : 0x2e+47
+long_min * long_min * long_min : 0xee+47
+long_min * long_min * int_max : 0x1fffffffce+31
+long_min * long_min * int_min : 0xee+39
+long_min * long_min * uint_max : 0x3fffffffce+31
+long_min * long_min * ulong_max : 0x4e+47
+long_min * long_min * double_min : 0x.1e-223
+long_min * long_min * double_max : Inf
+long_min * long_min * float_min : 0x1
+long_min * long_min * float_max : 0x3fffffce+57
+int_max / zero_min : -Inf
+int_max / zero_plus : Inf
+int_max / zero : Inf
+int_max / NaN : NaN
+int_max / Inf_plus : 0x0
+int_max / Inf_min : 0x0
+int_max / Inf : 0x0
+int_max / long_max : 0x.0fffffffee-7
+int_max / long_min : 0x.f00000002e-7
+int_max / int_max : 0x1
+int_max / int_min : 0xf.00000002
+int_max / uint_max : 0x.7fffffff8
+int_max / ulong_max : 0x.7fffffffe-8
+int_max / double_min : Inf
+int_max / double_max : 0x.7fffffff000004e-248
+int_max / float_min : 0x1fffffffce+31
+int_max / float_max : 0x.08000007f00008e-23
+int_max * zero_min : 0x0
+int_max * zero_plus : 0x0
+int_max * zero : 0x0
+int_max * NaN : NaN
+int_max * Inf_plus : Inf
+int_max * Inf_min : -Inf
+int_max * Inf : Inf
+int_max * long_max : 0x3fffffff8e+15
+int_max * long_min : 0xc00000008e+15
+int_max * int_max : 0x3fffffffe+8
+int_max * int_min : 0xc00000008e+7
+int_max * uint_max : 0x7ffffffe8e+7
+int_max * ulong_max : 0x7fffffffe+16
+int_max * double_min : 0x.1fffffffce-247
+int_max * double_max : Inf
+int_max * float_min : 0x.1fffffffce-23
+int_max * float_max : 0x7fffff7fe+32
+int_max + zero_min : 0x7fffffff
+int_max + zero_plus : 0x7fffffff
+int_max + zero : 0x7fffffff
+int_max + NaN : NaN
+int_max + Inf_plus : Inf
+int_max + Inf_min : -Inf
+int_max + Inf : Inf
+int_max + long_max : 0x0800000008e+7
+int_max + long_min : 0x800000008e+7
+int_max + int_max : 0x0fffffffe
+int_max + int_min : 0xf
+int_max + uint_max : 0x17ffffffe
+int_max + ulong_max : 0x1000000008e+7
+int_max + double_min : 0x7fffffff
+int_max + double_max : 0x0fffffffffffff8e+242
+int_max + float_min : 0x7fffffff
+int_max + float_max : 0x0ffffffe+26
+int_max - zero_min : 0x7fffffff
+int_max - zero_plus : 0x7fffffff
+int_max - zero : 0x7fffffff
+int_max - NaN : NaN
+int_max - Inf_plus : -Inf
+int_max - Inf_min : Inf
+int_max - Inf : -Inf
+int_max - long_max : 0x800000008e+7
+int_max - long_min : 0x0800000008e+7
+int_max - int_max : 0x0
+int_max - int_min : 0x0ffffffff
+int_max - uint_max : 0x8e+7
+int_max - ulong_max : 0xf000000008e+7
+int_max - double_min : 0x7fffffff
+int_max - double_max : 0xf00000000000008e+242
+int_max - float_min : 0x7fffffff
+int_max - float_max : 0xf000001e+26
+int_max > zero_min : 0x1
+int_max > zero_plus : 0x1
+int_max > zero : 0x1
+int_max > NaN : 0x0
+int_max > Inf_plus : 0x0
+int_max > Inf_min : 0x1
+int_max > Inf : 0x0
+int_max > long_max : 0x0
+int_max > long_min : 0x1
+int_max > int_max : 0x0
+int_max > int_min : 0x1
+int_max > uint_max : 0x0
+int_max > ulong_max : 0x0
+int_max > double_min : 0x1
+int_max > double_max : 0x0
+int_max > float_min : 0x1
+int_max > float_max : 0x0
+int_max < zero_min : 0x0
+int_max < zero_plus : 0x0
+int_max < zero : 0x0
+int_max < NaN : 0x0
+int_max < Inf_plus : 0x1
+int_max < Inf_min : 0x0
+int_max < Inf : 0x1
+int_max < long_max : 0x1
+int_max < long_min : 0x0
+int_max < int_max : 0x0
+int_max < int_min : 0x0
+int_max < uint_max : 0x1
+int_max < ulong_max : 0x1
+int_max < double_min : 0x0
+int_max < double_max : 0x1
+int_max < float_min : 0x0
+int_max < float_max : 0x1
+int_max >= zero_min : 0x1
+int_max >= zero_plus : 0x1
+int_max >= zero : 0x1
+int_max >= NaN : 0x0
+int_max >= Inf_plus : 0x0
+int_max >= Inf_min : 0x1
+int_max >= Inf : 0x0
+int_max >= long_max : 0x0
+int_max >= long_min : 0x1
+int_max >= int_max : 0x1
+int_max >= int_min : 0x1
+int_max >= uint_max : 0x0
+int_max >= ulong_max : 0x0
+int_max >= double_min : 0x1
+int_max >= double_max : 0x0
+int_max >= float_min : 0x1
+int_max >= float_max : 0x0
+int_max <= zero_min : 0x0
+int_max <= zero_plus : 0x0
+int_max <= zero : 0x0
+int_max <= NaN : 0x0
+int_max <= Inf_plus : 0x1
+int_max <= Inf_min : 0x0
+int_max <= Inf : 0x1
+int_max <= long_max : 0x1
+int_max <= long_min : 0x0
+int_max <= int_max : 0x1
+int_max <= int_min : 0x0
+int_max <= uint_max : 0x1
+int_max <= ulong_max : 0x1
+int_max <= double_min : 0x0
+int_max <= double_max : 0x1
+int_max <= float_min : 0x0
+int_max <= float_max : 0x1
+int_max == zero_min : 0x0
+int_max == zero_plus : 0x0
+int_max == zero : 0x0
+int_max == NaN : 0x0
+int_max == Inf_plus : 0x0
+int_max == Inf_min : 0x0
+int_max == Inf : 0x0
+int_max == long_max : 0x0
+int_max == long_min : 0x0
+int_max == int_max : 0x1
+int_max == int_min : 0x0
+int_max == uint_max : 0x0
+int_max == ulong_max : 0x0
+int_max == double_min : 0x0
+int_max == double_max : 0x0
+int_max == float_min : 0x0
+int_max == float_max : 0x0
+int_max != zero_min : 0x1
+int_max != zero_plus : 0x1
+int_max != zero : 0x1
+int_max != NaN : 0x1
+int_max != Inf_plus : 0x1
+int_max != Inf_min : 0x1
+int_max != Inf : 0x1
+int_max != long_max : 0x1
+int_max != long_min : 0x1
+int_max != int_max : 0x0
+int_max != int_min : 0x1
+int_max != uint_max : 0x1
+int_max != ulong_max : 0x1
+int_max != double_min : 0x1
+int_max != double_max : 0x1
+int_max != float_min : 0x1
+int_max != float_max : 0x1
+int_max * int_max * zero_min : 0x0
+int_max * int_max * zero_plus : 0x0
+int_max * int_max * zero : 0x0
+int_max * int_max * NaN : NaN
+int_max * int_max * Inf_plus : Inf
+int_max * int_max * Inf_min : -Inf
+int_max * int_max * Inf : Inf
+int_max * int_max * long_max : 0x1fffffff8e+23
+int_max * int_max * long_min : 0xe00000008e+23
+int_max * int_max * int_max : 0x1fffffff4e+15
+int_max * int_max * int_min : 0xe00000008e+15
+int_max * int_max * uint_max : 0x3ffffffece+15
+int_max * int_max * ulong_max : 0x3fffffffe+24
+int_max * int_max * double_min : 0x.0fffffffce-239
+int_max * int_max * double_max : Inf
+int_max * int_max * float_min : 0x.0fffffffce-15
+int_max * int_max * float_max : 0x3fffffbfe+40
+int_min / zero_min : Inf
+int_min / zero_plus : -Inf
+int_min / zero : -Inf
+int_min / NaN : NaN
+int_min / Inf_plus : 0x0
+int_min / Inf_min : 0x0
+int_min / Inf : 0x0
+int_min / long_max : 0x.fe-7
+int_min / long_min : 0x.1e-7
+int_min / int_max : 0xe.fffffffe
+int_min / int_min : 0x1
+int_min / uint_max : 0xf.7fffffff8
+int_min / ulong_max : 0x.8e-8
+int_min / double_min : -Inf
+int_min / double_max : 0x.f7ffffffffffff8e-247
+int_min / float_min : 0xee+39
+int_min / float_max : 0x.f7fffff7fffff8e-23
+int_min * zero_min : 0x0
+int_min * zero_plus : 0x0
+int_min * zero : 0x0
+int_min * NaN : NaN
+int_min * Inf_plus : -Inf
+int_min * Inf_min : Inf
+int_min * Inf : -Inf
+int_min * long_max : 0xce+23
+int_min * long_min : 0x4e+23
+int_min * int_max : 0xc00000008e+7
+int_min * int_min : 0x4e+15
+int_min * uint_max : 0x800000008e+7
+int_min * ulong_max : 0x8e+23
+int_min * double_min : 0x.ee-247
+int_min * double_max : -Inf
+int_min * float_min : 0x.ee-23
+int_min * float_max : 0x8000008e+33
+int_min + zero_min : 0x8e+7
+int_min + zero_plus : 0x8e+7
+int_min + zero : 0x8e+7
+int_min + NaN : NaN
+int_min + Inf_plus : Inf
+int_min + Inf_min : -Inf
+int_min + Inf : Inf
+int_min + long_max : 0x7fffffff8e+7
+int_min + long_min : 0xf7fffffff8e+7
+int_min + int_max : 0xf
+int_min + int_min : 0xfe+8
+int_min + uint_max : 0x7fffffff
+int_min + ulong_max : 0x0ffffffff8e+7
+int_min + double_min : 0x8e+7
+int_min + double_max : 0x0fffffffffffff8e+242
+int_min + float_min : 0x8e+7
+int_min + float_max : 0x0ffffffe+26
+int_min - zero_min : 0x8e+7
+int_min - zero_plus : 0x8e+7
+int_min - zero : 0x8e+7
+int_min - NaN : NaN
+int_min - Inf_plus : -Inf
+int_min - Inf_min : Inf
+int_min - Inf : -Inf
+int_min - long_max : 0xf7fffffff8e+7
+int_min - long_min : 0x7fffffff8e+7
+int_min - int_max : 0xf00000001
+int_min - int_min : 0x0
+int_min - uint_max : 0xe80000001
+int_min - ulong_max : 0xeffffffff8e+7
+int_min - double_min : 0x8e+7
+int_min - double_max : 0xf00000000000008e+242
+int_min - float_min : 0x8e+7
+int_min - float_max : 0xf000001e+26
+int_min > zero_min : 0x0
+int_min > zero_plus : 0x0
+int_min > zero : 0x0
+int_min > NaN : 0x0
+int_min > Inf_plus : 0x0
+int_min > Inf_min : 0x1
+int_min > Inf : 0x0
+int_min > long_max : 0x0
+int_min > long_min : 0x1
+int_min > int_max : 0x0
+int_min > int_min : 0x0
+int_min > uint_max : 0x0
+int_min > ulong_max : 0x0
+int_min > double_min : 0x0
+int_min > double_max : 0x0
+int_min > float_min : 0x0
+int_min > float_max : 0x0
+int_min < zero_min : 0x1
+int_min < zero_plus : 0x1
+int_min < zero : 0x1
+int_min < NaN : 0x0
+int_min < Inf_plus : 0x1
+int_min < Inf_min : 0x0
+int_min < Inf : 0x1
+int_min < long_max : 0x1
+int_min < long_min : 0x0
+int_min < int_max : 0x1
+int_min < int_min : 0x0
+int_min < uint_max : 0x1
+int_min < ulong_max : 0x1
+int_min < double_min : 0x1
+int_min < double_max : 0x1
+int_min < float_min : 0x1
+int_min < float_max : 0x1
+int_min >= zero_min : 0x0
+int_min >= zero_plus : 0x0
+int_min >= zero : 0x0
+int_min >= NaN : 0x0
+int_min >= Inf_plus : 0x0
+int_min >= Inf_min : 0x1
+int_min >= Inf : 0x0
+int_min >= long_max : 0x0
+int_min >= long_min : 0x1
+int_min >= int_max : 0x0
+int_min >= int_min : 0x1
+int_min >= uint_max : 0x0
+int_min >= ulong_max : 0x0
+int_min >= double_min : 0x0
+int_min >= double_max : 0x0
+int_min >= float_min : 0x0
+int_min >= float_max : 0x0
+int_min <= zero_min : 0x1
+int_min <= zero_plus : 0x1
+int_min <= zero : 0x1
+int_min <= NaN : 0x0
+int_min <= Inf_plus : 0x1
+int_min <= Inf_min : 0x0
+int_min <= Inf : 0x1
+int_min <= long_max : 0x1
+int_min <= long_min : 0x0
+int_min <= int_max : 0x1
+int_min <= int_min : 0x1
+int_min <= uint_max : 0x1
+int_min <= ulong_max : 0x1
+int_min <= double_min : 0x1
+int_min <= double_max : 0x1
+int_min <= float_min : 0x1
+int_min <= float_max : 0x1
+int_min == zero_min : 0x0
+int_min == zero_plus : 0x0
+int_min == zero : 0x0
+int_min == NaN : 0x0
+int_min == Inf_plus : 0x0
+int_min == Inf_min : 0x0
+int_min == Inf : 0x0
+int_min == long_max : 0x0
+int_min == long_min : 0x0
+int_min == int_max : 0x0
+int_min == int_min : 0x1
+int_min == uint_max : 0x0
+int_min == ulong_max : 0x0
+int_min == double_min : 0x0
+int_min == double_max : 0x0
+int_min == float_min : 0x0
+int_min == float_max : 0x0
+int_min != zero_min : 0x1
+int_min != zero_plus : 0x1
+int_min != zero : 0x1
+int_min != NaN : 0x1
+int_min != Inf_plus : 0x1
+int_min != Inf_min : 0x1
+int_min != Inf : 0x1
+int_min != long_max : 0x1
+int_min != long_min : 0x1
+int_min != int_max : 0x1
+int_min != int_min : 0x0
+int_min != uint_max : 0x1
+int_min != ulong_max : 0x1
+int_min != double_min : 0x1
+int_min != double_max : 0x1
+int_min != float_min : 0x1
+int_min != float_max : 0x1
+int_min * int_min * zero_min : 0x0
+int_min * int_min * zero_plus : 0x0
+int_min * int_min * zero : 0x0
+int_min * int_min * NaN : NaN
+int_min * int_min * Inf_plus : Inf
+int_min * int_min * Inf_min : -Inf
+int_min * int_min * Inf : Inf
+int_min * int_min * long_max : 0x2e+31
+int_min * int_min * long_min : 0xee+31
+int_min * int_min * int_max : 0x1fffffffce+15
+int_min * int_min * int_min : 0xee+23
+int_min * int_min * uint_max : 0x3fffffffce+15
+int_min * int_min * ulong_max : 0x4e+31
+int_min * int_min * double_min : 0x.1e-239
+int_min * int_min * double_max : Inf
+int_min * int_min * float_min : 0x.1e-15
+int_min * int_min * float_max : 0x3fffffce+41
+uint_max / zero_min : -Inf
+uint_max / zero_plus : Inf
+uint_max / zero : Inf
+uint_max / NaN : NaN
+uint_max / Inf_plus : 0x0
+uint_max / Inf_min : 0x0
+uint_max / Inf : 0x0
+uint_max / long_max : 0x.1fffffffee-7
+uint_max / long_min : 0x.e00000002e-7
+uint_max / int_max : 0x2.00000002
+uint_max / int_min : 0xe.00000002
+uint_max / uint_max : 0x1
+uint_max / ulong_max : 0x.0ffffffffe-7
+uint_max / double_min : Inf
+uint_max / double_max : 0x.0ffffffff000008e-247
+uint_max / float_min : 0x3fffffffce+31
+uint_max / float_max : 0x.1000000ff0001e-23
+uint_max * zero_min : 0x0
+uint_max * zero_plus : 0x0
+uint_max * zero : 0x0
+uint_max * NaN : NaN
+uint_max * Inf_plus : Inf
+uint_max * Inf_min : -Inf
+uint_max * Inf : Inf
+uint_max * long_max : 0x7fffffff8e+15
+uint_max * long_min : 0x800000008e+15
+uint_max * int_max : 0x7ffffffe8e+7
+uint_max * int_min : 0x800000008e+7
+uint_max * uint_max : 0x0fffffffee+8
+uint_max * ulong_max : 0x0ffffffffe+16
+uint_max * double_min : 0x.3fffffffce-247
+uint_max * double_max : Inf
+uint_max * float_min : 0x.3fffffffce-23
+uint_max * float_max : 0x0fffffeffe+32
+uint_max + zero_min : 0x0ffffffff
+uint_max + zero_plus : 0x0ffffffff
+uint_max + zero : 0x0ffffffff
+uint_max + NaN : NaN
+uint_max + Inf_plus : Inf
+uint_max + Inf_min : -Inf
+uint_max + Inf : Inf
+uint_max + long_max : 0x080000001e+8
+uint_max + long_min : 0x80000001e+8
+uint_max + int_max : 0x17ffffffe
+uint_max + int_min : 0x7fffffff
+uint_max + uint_max : 0x1fffffffe
+uint_max + ulong_max : 0x100000001e+8
+uint_max + double_min : 0x0ffffffff
+uint_max + double_max : 0x0fffffffffffff8e+242
+uint_max + float_min : 0x0ffffffff
+uint_max + float_max : 0x0ffffffe+26
+uint_max - zero_min : 0x0ffffffff
+uint_max - zero_plus : 0x0ffffffff
+uint_max - zero : 0x0ffffffff
+uint_max - NaN : NaN
+uint_max - Inf_plus : -Inf
+uint_max - Inf_min : Inf
+uint_max - Inf : -Inf
+uint_max - long_max : 0x80000001e+8
+uint_max - long_min : 0x080000001e+8
+uint_max - int_max : 0x08e+7
+uint_max - int_min : 0x17fffffff
+uint_max - uint_max : 0x0
+uint_max - ulong_max : 0xf00000001e+8
+uint_max - double_min : 0x0ffffffff
+uint_max - double_max : 0xf00000000000008e+242
+uint_max - float_min : 0x0ffffffff
+uint_max - float_max : 0xf000001e+26
+uint_max > zero_min : 0x1
+uint_max > zero_plus : 0x1
+uint_max > zero : 0x1
+uint_max > NaN : 0x0
+uint_max > Inf_plus : 0x0
+uint_max > Inf_min : 0x1
+uint_max > Inf : 0x0
+uint_max > long_max : 0x0
+uint_max > long_min : 0x1
+uint_max > int_max : 0x1
+uint_max > int_min : 0x1
+uint_max > uint_max : 0x0
+uint_max > ulong_max : 0x0
+uint_max > double_min : 0x1
+uint_max > double_max : 0x0
+uint_max > float_min : 0x1
+uint_max > float_max : 0x0
+uint_max < zero_min : 0x0
+uint_max < zero_plus : 0x0
+uint_max < zero : 0x0
+uint_max < NaN : 0x0
+uint_max < Inf_plus : 0x1
+uint_max < Inf_min : 0x0
+uint_max < Inf : 0x1
+uint_max < long_max : 0x1
+uint_max < long_min : 0x0
+uint_max < int_max : 0x0
+uint_max < int_min : 0x0
+uint_max < uint_max : 0x0
+uint_max < ulong_max : 0x1
+uint_max < double_min : 0x0
+uint_max < double_max : 0x1
+uint_max < float_min : 0x0
+uint_max < float_max : 0x1
+uint_max >= zero_min : 0x1
+uint_max >= zero_plus : 0x1
+uint_max >= zero : 0x1
+uint_max >= NaN : 0x0
+uint_max >= Inf_plus : 0x0
+uint_max >= Inf_min : 0x1
+uint_max >= Inf : 0x0
+uint_max >= long_max : 0x0
+uint_max >= long_min : 0x1
+uint_max >= int_max : 0x1
+uint_max >= int_min : 0x1
+uint_max >= uint_max : 0x1
+uint_max >= ulong_max : 0x0
+uint_max >= double_min : 0x1
+uint_max >= double_max : 0x0
+uint_max >= float_min : 0x1
+uint_max >= float_max : 0x0
+uint_max <= zero_min : 0x0
+uint_max <= zero_plus : 0x0
+uint_max <= zero : 0x0
+uint_max <= NaN : 0x0
+uint_max <= Inf_plus : 0x1
+uint_max <= Inf_min : 0x0
+uint_max <= Inf : 0x1
+uint_max <= long_max : 0x1
+uint_max <= long_min : 0x0
+uint_max <= int_max : 0x0
+uint_max <= int_min : 0x0
+uint_max <= uint_max : 0x1
+uint_max <= ulong_max : 0x1
+uint_max <= double_min : 0x0
+uint_max <= double_max : 0x1
+uint_max <= float_min : 0x0
+uint_max <= float_max : 0x1
+uint_max == zero_min : 0x0
+uint_max == zero_plus : 0x0
+uint_max == zero : 0x0
+uint_max == NaN : 0x0
+uint_max == Inf_plus : 0x0
+uint_max == Inf_min : 0x0
+uint_max == Inf : 0x0
+uint_max == long_max : 0x0
+uint_max == long_min : 0x0
+uint_max == int_max : 0x0
+uint_max == int_min : 0x0
+uint_max == uint_max : 0x1
+uint_max == ulong_max : 0x0
+uint_max == double_min : 0x0
+uint_max == double_max : 0x0
+uint_max == float_min : 0x0
+uint_max == float_max : 0x0
+uint_max != zero_min : 0x1
+uint_max != zero_plus : 0x1
+uint_max != zero : 0x1
+uint_max != NaN : 0x1
+uint_max != Inf_plus : 0x1
+uint_max != Inf_min : 0x1
+uint_max != Inf : 0x1
+uint_max != long_max : 0x1
+uint_max != long_min : 0x1
+uint_max != int_max : 0x1
+uint_max != int_min : 0x1
+uint_max != uint_max : 0x0
+uint_max != ulong_max : 0x1
+uint_max != double_min : 0x1
+uint_max != double_max : 0x1
+uint_max != float_min : 0x1
+uint_max != float_max : 0x1
+uint_max * uint_max * zero_min : 0x0
+uint_max * uint_max * zero_plus : 0x0
+uint_max * uint_max * zero : 0x0
+uint_max * uint_max * NaN : NaN
+uint_max * uint_max * Inf_plus : Inf
+uint_max * uint_max * Inf_min : -Inf
+uint_max * uint_max * Inf : Inf
+uint_max * uint_max * long_max : 0x7fffffffe+24
+uint_max * uint_max * long_min : 0x80000001e+24
+uint_max * uint_max * int_max : 0x7ffffffee+16
+uint_max * uint_max * int_min : 0x80000001e+16
+uint_max * uint_max * uint_max : 0x0fffffffde+16
+uint_max * uint_max * ulong_max : 0x0fffffffee+24
+uint_max * uint_max * double_min : 0x.3fffffff8e-239
+uint_max * uint_max * double_max : Inf
+uint_max * uint_max * float_min : 0x.3fffffff8e-15
+uint_max * uint_max * float_max : 0x0fffffefee+40
+ulong_max / zero_min : -Inf
+ulong_max / zero_plus : Inf
+ulong_max / zero : Inf
+ulong_max / NaN : NaN
+ulong_max / Inf_plus : 0x0
+ulong_max / Inf_min : 0x0
+ulong_max / Inf : 0x0
+ulong_max / long_max : 0x2
+ulong_max / long_min : 0xe
+ulong_max / int_max : 0x200000004
+ulong_max / int_min : 0xee+8
+ulong_max / uint_max : 0x100000001
+ulong_max / ulong_max : 0x1
+ulong_max / double_min : Inf
+ulong_max / double_max : 0x.10000000000001e-239
+ulong_max / float_min : 0x4e+47
+ulong_max / float_max : 0x.1000001000001e-15
+ulong_max * zero_min : 0x0
+ulong_max * zero_plus : 0x0
+ulong_max * zero : 0x0
+ulong_max * NaN : NaN
+ulong_max * Inf_plus : Inf
+ulong_max * Inf_min : -Inf
+ulong_max * Inf : Inf
+ulong_max * long_max : 0x08e+31
+ulong_max * long_min : 0x8e+31
+ulong_max * int_max : 0x7fffffffe+16
+ulong_max * int_min : 0x8e+23
+ulong_max * uint_max : 0x0ffffffffe+16
+ulong_max * ulong_max : 0x1e+32
+ulong_max * double_min : 0x.4e-239
+ulong_max * double_max : Inf
+ulong_max * float_min : 0x.4e-15
+ulong_max * float_max : 0x0ffffffe+42
+ulong_max + zero_min : 0x1e+16
+ulong_max + zero_plus : 0x1e+16
+ulong_max + zero : 0x1e+16
+ulong_max + NaN : NaN
+ulong_max + Inf_plus : Inf
+ulong_max + Inf_min : -Inf
+ulong_max + Inf : Inf
+ulong_max + long_max : 0x18e+15
+ulong_max + long_min : 0x08e+15
+ulong_max + int_max : 0x1000000008e+7
+ulong_max + int_min : 0x0ffffffff8e+7
+ulong_max + uint_max : 0x100000001e+8
+ulong_max + ulong_max : 0x2e+16
+ulong_max + double_min : 0x1e+16
+ulong_max + double_max : 0x0fffffffffffff8e+242
+ulong_max + float_min : 0x1e+16
+ulong_max + float_max : 0x0ffffffe+26
+ulong_max - zero_min : 0x1e+16
+ulong_max - zero_plus : 0x1e+16
+ulong_max - zero : 0x1e+16
+ulong_max - NaN : NaN
+ulong_max - Inf_plus : -Inf
+ulong_max - Inf_min : Inf
+ulong_max - Inf : -Inf
+ulong_max - long_max : 0x08e+15
+ulong_max - long_min : 0x18e+15
+ulong_max - int_max : 0x0ffffffff8e+7
+ulong_max - int_min : 0x1000000008e+7
+ulong_max - uint_max : 0x0ffffffffe+8
+ulong_max - ulong_max : 0x0
+ulong_max - double_min : 0x1e+16
+ulong_max - double_max : 0xf00000000000008e+242
+ulong_max - float_min : 0x1e+16
+ulong_max - float_max : 0xf000001e+26
+ulong_max > zero_min : 0x1
+ulong_max > zero_plus : 0x1
+ulong_max > zero : 0x1
+ulong_max > NaN : 0x0
+ulong_max > Inf_plus : 0x0
+ulong_max > Inf_min : 0x1
+ulong_max > Inf : 0x0
+ulong_max > long_max : 0x1
+ulong_max > long_min : 0x1
+ulong_max > int_max : 0x1
+ulong_max > int_min : 0x1
+ulong_max > uint_max : 0x1
+ulong_max > ulong_max : 0x0
+ulong_max > double_min : 0x1
+ulong_max > double_max : 0x0
+ulong_max > float_min : 0x1
+ulong_max > float_max : 0x0
+ulong_max < zero_min : 0x0
+ulong_max < zero_plus : 0x0
+ulong_max < zero : 0x0
+ulong_max < NaN : 0x0
+ulong_max < Inf_plus : 0x1
+ulong_max < Inf_min : 0x0
+ulong_max < Inf : 0x1
+ulong_max < long_max : 0x0
+ulong_max < long_min : 0x0
+ulong_max < int_max : 0x0
+ulong_max < int_min : 0x0
+ulong_max < uint_max : 0x0
+ulong_max < ulong_max : 0x0
+ulong_max < double_min : 0x0
+ulong_max < double_max : 0x1
+ulong_max < float_min : 0x0
+ulong_max < float_max : 0x1
+ulong_max >= zero_min : 0x1
+ulong_max >= zero_plus : 0x1
+ulong_max >= zero : 0x1
+ulong_max >= NaN : 0x0
+ulong_max >= Inf_plus : 0x0
+ulong_max >= Inf_min : 0x1
+ulong_max >= Inf : 0x0
+ulong_max >= long_max : 0x1
+ulong_max >= long_min : 0x1
+ulong_max >= int_max : 0x1
+ulong_max >= int_min : 0x1
+ulong_max >= uint_max : 0x1
+ulong_max >= ulong_max : 0x1
+ulong_max >= double_min : 0x1
+ulong_max >= double_max : 0x0
+ulong_max >= float_min : 0x1
+ulong_max >= float_max : 0x0
+ulong_max <= zero_min : 0x0
+ulong_max <= zero_plus : 0x0
+ulong_max <= zero : 0x0
+ulong_max <= NaN : 0x0
+ulong_max <= Inf_plus : 0x1
+ulong_max <= Inf_min : 0x0
+ulong_max <= Inf : 0x1
+ulong_max <= long_max : 0x0
+ulong_max <= long_min : 0x0
+ulong_max <= int_max : 0x0
+ulong_max <= int_min : 0x0
+ulong_max <= uint_max : 0x0
+ulong_max <= ulong_max : 0x1
+ulong_max <= double_min : 0x0
+ulong_max <= double_max : 0x1
+ulong_max <= float_min : 0x0
+ulong_max <= float_max : 0x1
+ulong_max == zero_min : 0x0
+ulong_max == zero_plus : 0x0
+ulong_max == zero : 0x0
+ulong_max == NaN : 0x0
+ulong_max == Inf_plus : 0x0
+ulong_max == Inf_min : 0x0
+ulong_max == Inf : 0x0
+ulong_max == long_max : 0x0
+ulong_max == long_min : 0x0
+ulong_max == int_max : 0x0
+ulong_max == int_min : 0x0
+ulong_max == uint_max : 0x0
+ulong_max == ulong_max : 0x1
+ulong_max == double_min : 0x0
+ulong_max == double_max : 0x0
+ulong_max == float_min : 0x0
+ulong_max == float_max : 0x0
+ulong_max != zero_min : 0x1
+ulong_max != zero_plus : 0x1
+ulong_max != zero : 0x1
+ulong_max != NaN : 0x1
+ulong_max != Inf_plus : 0x1
+ulong_max != Inf_min : 0x1
+ulong_max != Inf : 0x1
+ulong_max != long_max : 0x1
+ulong_max != long_min : 0x1
+ulong_max != int_max : 0x1
+ulong_max != int_min : 0x1
+ulong_max != uint_max : 0x1
+ulong_max != ulong_max : 0x0
+ulong_max != double_min : 0x1
+ulong_max != double_max : 0x1
+ulong_max != float_min : 0x1
+ulong_max != float_max : 0x1
+ulong_max * ulong_max * zero_min : 0x0
+ulong_max * ulong_max * zero_plus : 0x0
+ulong_max * ulong_max * zero : 0x0
+ulong_max * ulong_max * NaN : NaN
+ulong_max * ulong_max * Inf_plus : Inf
+ulong_max * ulong_max * Inf_min : -Inf
+ulong_max * ulong_max * Inf : Inf
+ulong_max * ulong_max * long_max : 0x08e+47
+ulong_max * ulong_max * long_min : 0x8e+47
+ulong_max * ulong_max * int_max : 0x7fffffffe+32
+ulong_max * ulong_max * int_min : 0x8e+39
+ulong_max * ulong_max * uint_max : 0x0ffffffffe+32
+ulong_max * ulong_max * ulong_max : 0x1e+48
+ulong_max * ulong_max * double_min : 0x.4e-223
+ulong_max * ulong_max * double_max : Inf
+ulong_max * ulong_max * float_min : 0x4
+ulong_max * ulong_max * float_max : 0x0ffffffe+58
+****************** limits fx_float_double
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x08e+15
+long_min : 0x8e+15
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x1e+16
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+double_min / zero_min : -Inf
+double_min / zero_plus : Inf
+double_min / zero : Inf
+double_min / NaN : NaN
+double_min / Inf_plus : 0x0
+double_min / Inf_min : 0x0
+double_min / Inf : 0x0
+double_min / long_max : 0x0
+double_min / long_min : 0x0
+double_min / int_max : 0x.4e-263
+double_min / int_min : 0x.ce-263
+double_min / uint_max : 0x.2e-263
+double_min / ulong_max : 0x0
+double_min / double_min : 0x1
+double_min / double_max : 0x0
+double_min / float_min : 0x.1e-223
+double_min / float_max : 0x0
+double_min * zero_min : 0x0
+double_min * zero_plus : 0x0
+double_min * zero : 0x0
+double_min * NaN : NaN
+double_min * Inf_plus : Inf
+double_min * Inf_min : -Inf
+double_min * Inf : Inf
+double_min * long_max : 0x.2e-239
+double_min * long_min : 0x.ee-239
+double_min * int_max : 0x.1fffffffce-247
+double_min * int_min : 0x.ee-247
+double_min * uint_max : 0x.3fffffffce-247
+double_min * ulong_max : 0x.4e-239
+double_min * double_min : 0x0
+double_min * double_max : 0x3.ffffffffffffe
+double_min * float_min : 0x0
+double_min * float_max : 0x.3fffffce-223
+double_min + zero_min : 0x.4e-255
+double_min + zero_plus : 0x.4e-255
+double_min + zero : 0x.4e-255
+double_min + NaN : NaN
+double_min + Inf_plus : Inf
+double_min + Inf_min : -Inf
+double_min + Inf : Inf
+double_min + long_max : 0x08e+15
+double_min + long_min : 0x8e+15
+double_min + int_max : 0x7fffffff
+double_min + int_min : 0x8e+7
+double_min + uint_max : 0x0ffffffff
+double_min + ulong_max : 0x1e+16
+double_min + double_min : 0x.08e-254
+double_min + double_max : 0x0fffffffffffff8e+242
+double_min + float_min : 0x.4e-31
+double_min + float_max : 0x0ffffffe+26
+double_min - zero_min : 0x.4e-255
+double_min - zero_plus : 0x.4e-255
+double_min - zero : 0x.4e-255
+double_min - NaN : NaN
+double_min - Inf_plus : -Inf
+double_min - Inf_min : Inf
+double_min - Inf : -Inf
+double_min - long_max : 0x8e+15
+double_min - long_min : 0x08e+15
+double_min - int_max : 0x80000001
+double_min - int_min : 0x08e+7
+double_min - uint_max : 0xf00000001
+double_min - ulong_max : 0xfe+16
+double_min - double_min : 0x0
+double_min - double_max : 0xf00000000000008e+242
+double_min - float_min : 0x.ce-31
+double_min - float_max : 0xf000001e+26
+double_min > zero_min : 0x1
+double_min > zero_plus : 0x1
+double_min > zero : 0x1
+double_min > NaN : 0x0
+double_min > Inf_plus : 0x0
+double_min > Inf_min : 0x1
+double_min > Inf : 0x0
+double_min > long_max : 0x0
+double_min > long_min : 0x1
+double_min > int_max : 0x0
+double_min > int_min : 0x1
+double_min > uint_max : 0x0
+double_min > ulong_max : 0x0
+double_min > double_min : 0x0
+double_min > double_max : 0x0
+double_min > float_min : 0x0
+double_min > float_max : 0x0
+double_min < zero_min : 0x0
+double_min < zero_plus : 0x0
+double_min < zero : 0x0
+double_min < NaN : 0x0
+double_min < Inf_plus : 0x1
+double_min < Inf_min : 0x0
+double_min < Inf : 0x1
+double_min < long_max : 0x1
+double_min < long_min : 0x0
+double_min < int_max : 0x1
+double_min < int_min : 0x0
+double_min < uint_max : 0x1
+double_min < ulong_max : 0x1
+double_min < double_min : 0x0
+double_min < double_max : 0x1
+double_min < float_min : 0x1
+double_min < float_max : 0x1
+double_min >= zero_min : 0x1
+double_min >= zero_plus : 0x1
+double_min >= zero : 0x1
+double_min >= NaN : 0x0
+double_min >= Inf_plus : 0x0
+double_min >= Inf_min : 0x1
+double_min >= Inf : 0x0
+double_min >= long_max : 0x0
+double_min >= long_min : 0x1
+double_min >= int_max : 0x0
+double_min >= int_min : 0x1
+double_min >= uint_max : 0x0
+double_min >= ulong_max : 0x0
+double_min >= double_min : 0x1
+double_min >= double_max : 0x0
+double_min >= float_min : 0x0
+double_min >= float_max : 0x0
+double_min <= zero_min : 0x0
+double_min <= zero_plus : 0x0
+double_min <= zero : 0x0
+double_min <= NaN : 0x0
+double_min <= Inf_plus : 0x1
+double_min <= Inf_min : 0x0
+double_min <= Inf : 0x1
+double_min <= long_max : 0x1
+double_min <= long_min : 0x0
+double_min <= int_max : 0x1
+double_min <= int_min : 0x0
+double_min <= uint_max : 0x1
+double_min <= ulong_max : 0x1
+double_min <= double_min : 0x1
+double_min <= double_max : 0x1
+double_min <= float_min : 0x1
+double_min <= float_max : 0x1
+double_min == zero_min : 0x0
+double_min == zero_plus : 0x0
+double_min == zero : 0x0
+double_min == NaN : 0x0
+double_min == Inf_plus : 0x0
+double_min == Inf_min : 0x0
+double_min == Inf : 0x0
+double_min == long_max : 0x0
+double_min == long_min : 0x0
+double_min == int_max : 0x0
+double_min == int_min : 0x0
+double_min == uint_max : 0x0
+double_min == ulong_max : 0x0
+double_min == double_min : 0x1
+double_min == double_max : 0x0
+double_min == float_min : 0x0
+double_min == float_max : 0x0
+double_min != zero_min : 0x1
+double_min != zero_plus : 0x1
+double_min != zero : 0x1
+double_min != NaN : 0x1
+double_min != Inf_plus : 0x1
+double_min != Inf_min : 0x1
+double_min != Inf : 0x1
+double_min != long_max : 0x1
+double_min != long_min : 0x1
+double_min != int_max : 0x1
+double_min != int_min : 0x1
+double_min != uint_max : 0x1
+double_min != ulong_max : 0x1
+double_min != double_min : 0x0
+double_min != double_max : 0x1
+double_min != float_min : 0x1
+double_min != float_max : 0x1
+double_min * double_min * zero_min : 0x0
+double_min * double_min * zero_plus : 0x0
+double_min * double_min * zero : 0x0
+double_min * double_min * NaN : NaN
+double_min * double_min * Inf_plus : NaN
+double_min * double_min * Inf_min : NaN
+double_min * double_min * Inf : NaN
+double_min * double_min * long_max : 0x0
+double_min * double_min * long_min : 0x0
+double_min * double_min * int_max : 0x0
+double_min * double_min * int_min : 0x0
+double_min * double_min * uint_max : 0x0
+double_min * double_min * ulong_max : 0x0
+double_min * double_min * double_min : 0x0
+double_min * double_min * double_max : 0x0
+double_min * double_min * float_min : 0x0
+double_min * double_min * float_max : 0x0
+double_max / zero_min : -Inf
+double_max / zero_plus : Inf
+double_max / zero : Inf
+double_max / NaN : NaN
+double_max / Inf_plus : 0x0
+double_max / Inf_min : 0x0
+double_max / Inf : 0x0
+double_max / long_max : 0x1fffffffffffffe+227
+double_max / long_min : 0xe0000000000001e+227
+double_max / int_max : 0x200000004e+240
+double_max / int_min : 0xe0000000000001e+235
+double_max / uint_max : 0x100000001e+240
+double_max / ulong_max : 0x0fffffffffffff8e+226
+double_max / double_min : Inf
+double_max / double_max : 0x1
+double_max / float_min : Inf
+double_max / float_max : 0x1000001000001e+212
+double_max * zero_min : 0x0
+double_max * zero_plus : 0x0
+double_max * zero : 0x0
+double_max * NaN : NaN
+double_max * Inf_plus : Inf
+double_max * Inf_min : -Inf
+double_max * Inf : Inf
+double_max * long_max : Inf
+double_max * long_min : -Inf
+double_max * int_max : Inf
+double_max * int_min : -Inf
+double_max * uint_max : Inf
+double_max * ulong_max : Inf
+double_max * double_min : 0x3.ffffffffffffe
+double_max * double_max : Inf
+double_max * float_min : 0x3ffffffffffffee+211
+double_max * float_max : Inf
+double_max + zero_min : 0x0fffffffffffff8e+242
+double_max + zero_plus : 0x0fffffffffffff8e+242
+double_max + zero : 0x0fffffffffffff8e+242
+double_max + NaN : NaN
+double_max + Inf_plus : Inf
+double_max + Inf_min : -Inf
+double_max + Inf : Inf
+double_max + long_max : 0x0fffffffffffff8e+242
+double_max + long_min : 0x0fffffffffffff8e+242
+double_max + int_max : 0x0fffffffffffff8e+242
+double_max + int_min : 0x0fffffffffffff8e+242
+double_max + uint_max : 0x0fffffffffffff8e+242
+double_max + ulong_max : 0x0fffffffffffff8e+242
+double_max + double_min : 0x0fffffffffffff8e+242
+double_max + double_max : Inf
+double_max + float_min : 0x0fffffffffffff8e+242
+double_max + float_max : 0x0fffffffffffff8e+242
+double_max - zero_min : 0x0fffffffffffff8e+242
+double_max - zero_plus : 0x0fffffffffffff8e+242
+double_max - zero : 0x0fffffffffffff8e+242
+double_max - NaN : NaN
+double_max - Inf_plus : -Inf
+double_max - Inf_min : Inf
+double_max - Inf : -Inf
+double_max - long_max : 0x0fffffffffffff8e+242
+double_max - long_min : 0x0fffffffffffff8e+242
+double_max - int_max : 0x0fffffffffffff8e+242
+double_max - int_min : 0x0fffffffffffff8e+242
+double_max - uint_max : 0x0fffffffffffff8e+242
+double_max - ulong_max : 0x0fffffffffffff8e+242
+double_max - double_min : 0x0fffffffffffff8e+242
+double_max - double_max : 0x0
+double_max - float_min : 0x0fffffffffffff8e+242
+double_max - float_max : 0x0fffffffffffff8e+242
+double_max > zero_min : 0x1
+double_max > zero_plus : 0x1
+double_max > zero : 0x1
+double_max > NaN : 0x0
+double_max > Inf_plus : 0x0
+double_max > Inf_min : 0x1
+double_max > Inf : 0x0
+double_max > long_max : 0x1
+double_max > long_min : 0x1
+double_max > int_max : 0x1
+double_max > int_min : 0x1
+double_max > uint_max : 0x1
+double_max > ulong_max : 0x1
+double_max > double_min : 0x1
+double_max > double_max : 0x0
+double_max > float_min : 0x1
+double_max > float_max : 0x1
+double_max < zero_min : 0x0
+double_max < zero_plus : 0x0
+double_max < zero : 0x0
+double_max < NaN : 0x0
+double_max < Inf_plus : 0x1
+double_max < Inf_min : 0x0
+double_max < Inf : 0x1
+double_max < long_max : 0x0
+double_max < long_min : 0x0
+double_max < int_max : 0x0
+double_max < int_min : 0x0
+double_max < uint_max : 0x0
+double_max < ulong_max : 0x0
+double_max < double_min : 0x0
+double_max < double_max : 0x0
+double_max < float_min : 0x0
+double_max < float_max : 0x0
+double_max >= zero_min : 0x1
+double_max >= zero_plus : 0x1
+double_max >= zero : 0x1
+double_max >= NaN : 0x0
+double_max >= Inf_plus : 0x0
+double_max >= Inf_min : 0x1
+double_max >= Inf : 0x0
+double_max >= long_max : 0x1
+double_max >= long_min : 0x1
+double_max >= int_max : 0x1
+double_max >= int_min : 0x1
+double_max >= uint_max : 0x1
+double_max >= ulong_max : 0x1
+double_max >= double_min : 0x1
+double_max >= double_max : 0x1
+double_max >= float_min : 0x1
+double_max >= float_max : 0x1
+double_max <= zero_min : 0x0
+double_max <= zero_plus : 0x0
+double_max <= zero : 0x0
+double_max <= NaN : 0x0
+double_max <= Inf_plus : 0x1
+double_max <= Inf_min : 0x0
+double_max <= Inf : 0x1
+double_max <= long_max : 0x0
+double_max <= long_min : 0x0
+double_max <= int_max : 0x0
+double_max <= int_min : 0x0
+double_max <= uint_max : 0x0
+double_max <= ulong_max : 0x0
+double_max <= double_min : 0x0
+double_max <= double_max : 0x1
+double_max <= float_min : 0x0
+double_max <= float_max : 0x0
+double_max == zero_min : 0x0
+double_max == zero_plus : 0x0
+double_max == zero : 0x0
+double_max == NaN : 0x0
+double_max == Inf_plus : 0x0
+double_max == Inf_min : 0x0
+double_max == Inf : 0x0
+double_max == long_max : 0x0
+double_max == long_min : 0x0
+double_max == int_max : 0x0
+double_max == int_min : 0x0
+double_max == uint_max : 0x0
+double_max == ulong_max : 0x0
+double_max == double_min : 0x0
+double_max == double_max : 0x1
+double_max == float_min : 0x0
+double_max == float_max : 0x0
+double_max != zero_min : 0x1
+double_max != zero_plus : 0x1
+double_max != zero : 0x1
+double_max != NaN : 0x1
+double_max != Inf_plus : 0x1
+double_max != Inf_min : 0x1
+double_max != Inf : 0x1
+double_max != long_max : 0x1
+double_max != long_min : 0x1
+double_max != int_max : 0x1
+double_max != int_min : 0x1
+double_max != uint_max : 0x1
+double_max != ulong_max : 0x1
+double_max != double_min : 0x1
+double_max != double_max : 0x0
+double_max != float_min : 0x1
+double_max != float_max : 0x1
+double_max * double_max * zero_min : NaN
+double_max * double_max * zero_plus : NaN
+double_max * double_max * zero : NaN
+double_max * double_max * NaN : NaN
+double_max * double_max * Inf_plus : Inf
+double_max * double_max * Inf_min : -Inf
+double_max * double_max * Inf : Inf
+double_max * double_max * long_max : Inf
+double_max * double_max * long_min : -Inf
+double_max * double_max * int_max : Inf
+double_max * double_max * int_min : -Inf
+double_max * double_max * uint_max : Inf
+double_max * double_max * ulong_max : Inf
+double_max * double_max * double_min : Inf
+double_max * double_max * double_max : Inf
+double_max * double_max * float_min : Inf
+double_max * double_max * float_max : Inf
+float_min / zero_min : -Inf
+float_min / zero_plus : Inf
+float_min / zero : Inf
+float_min / NaN : NaN
+float_min / Inf_plus : 0x0
+float_min / Inf_min : 0x0
+float_min / Inf : 0x0
+float_min / long_max : 0x.08e-46
+float_min / long_min : 0x.8e-47
+float_min / int_max : 0x.080000001e-38
+float_min / int_min : 0x.8e-39
+float_min / uint_max : 0x.400000004e-39
+float_min / ulong_max : 0x.4e-47
+float_min / double_min : 0x1e+224
+float_min / double_max : 0x0
+float_min / float_min : 0x1
+float_min / float_max : 0x.4000004000004e-63
+float_min * zero_min : 0x0
+float_min * zero_plus : 0x0
+float_min * zero : 0x0
+float_min * NaN : NaN
+float_min * Inf_plus : Inf
+float_min * Inf_min : -Inf
+float_min * Inf : Inf
+float_min * long_max : 0x.2e-15
+float_min * long_min : 0x.ee-15
+float_min * int_max : 0x.1fffffffce-23
+float_min * int_min : 0x.ee-23
+float_min * uint_max : 0x.3fffffffce-23
+float_min * ulong_max : 0x.4e-15
+float_min * double_min : 0x0
+float_min * double_max : 0x3ffffffffffffee+211
+float_min * float_min : 0x.1e-62
+float_min * float_max : 0x3.fffffc
+float_min + zero_min : 0x.4e-31
+float_min + zero_plus : 0x.4e-31
+float_min + zero : 0x.4e-31
+float_min + NaN : NaN
+float_min + Inf_plus : Inf
+float_min + Inf_min : -Inf
+float_min + Inf : Inf
+float_min + long_max : 0x08e+15
+float_min + long_min : 0x8e+15
+float_min + int_max : 0x7fffffff
+float_min + int_min : 0x8e+7
+float_min + uint_max : 0x0ffffffff
+float_min + ulong_max : 0x1e+16
+float_min + double_min : 0x.4e-31
+float_min + double_max : 0x0fffffffffffff8e+242
+float_min + float_min : 0x.08e-30
+float_min + float_max : 0x0ffffffe+26
+float_min - zero_min : 0x.4e-31
+float_min - zero_plus : 0x.4e-31
+float_min - zero : 0x.4e-31
+float_min - NaN : NaN
+float_min - Inf_plus : -Inf
+float_min - Inf_min : Inf
+float_min - Inf : -Inf
+float_min - long_max : 0x8e+15
+float_min - long_min : 0x08e+15
+float_min - int_max : 0x80000001
+float_min - int_min : 0x08e+7
+float_min - uint_max : 0xf00000001
+float_min - ulong_max : 0xfe+16
+float_min - double_min : 0x.4e-31
+float_min - double_max : 0xf00000000000008e+242
+float_min - float_min : 0x0
+float_min - float_max : 0xf000001e+26
+float_min > zero_min : 0x1
+float_min > zero_plus : 0x1
+float_min > zero : 0x1
+float_min > NaN : 0x0
+float_min > Inf_plus : 0x0
+float_min > Inf_min : 0x1
+float_min > Inf : 0x0
+float_min > long_max : 0x0
+float_min > long_min : 0x1
+float_min > int_max : 0x0
+float_min > int_min : 0x1
+float_min > uint_max : 0x0
+float_min > ulong_max : 0x0
+float_min > double_min : 0x1
+float_min > double_max : 0x0
+float_min > float_min : 0x0
+float_min > float_max : 0x0
+float_min < zero_min : 0x0
+float_min < zero_plus : 0x0
+float_min < zero : 0x0
+float_min < NaN : 0x0
+float_min < Inf_plus : 0x1
+float_min < Inf_min : 0x0
+float_min < Inf : 0x1
+float_min < long_max : 0x1
+float_min < long_min : 0x0
+float_min < int_max : 0x1
+float_min < int_min : 0x0
+float_min < uint_max : 0x1
+float_min < ulong_max : 0x1
+float_min < double_min : 0x0
+float_min < double_max : 0x1
+float_min < float_min : 0x0
+float_min < float_max : 0x1
+float_min >= zero_min : 0x1
+float_min >= zero_plus : 0x1
+float_min >= zero : 0x1
+float_min >= NaN : 0x0
+float_min >= Inf_plus : 0x0
+float_min >= Inf_min : 0x1
+float_min >= Inf : 0x0
+float_min >= long_max : 0x0
+float_min >= long_min : 0x1
+float_min >= int_max : 0x0
+float_min >= int_min : 0x1
+float_min >= uint_max : 0x0
+float_min >= ulong_max : 0x0
+float_min >= double_min : 0x1
+float_min >= double_max : 0x0
+float_min >= float_min : 0x1
+float_min >= float_max : 0x0
+float_min <= zero_min : 0x0
+float_min <= zero_plus : 0x0
+float_min <= zero : 0x0
+float_min <= NaN : 0x0
+float_min <= Inf_plus : 0x1
+float_min <= Inf_min : 0x0
+float_min <= Inf : 0x1
+float_min <= long_max : 0x1
+float_min <= long_min : 0x0
+float_min <= int_max : 0x1
+float_min <= int_min : 0x0
+float_min <= uint_max : 0x1
+float_min <= ulong_max : 0x1
+float_min <= double_min : 0x0
+float_min <= double_max : 0x1
+float_min <= float_min : 0x1
+float_min <= float_max : 0x1
+float_min == zero_min : 0x0
+float_min == zero_plus : 0x0
+float_min == zero : 0x0
+float_min == NaN : 0x0
+float_min == Inf_plus : 0x0
+float_min == Inf_min : 0x0
+float_min == Inf : 0x0
+float_min == long_max : 0x0
+float_min == long_min : 0x0
+float_min == int_max : 0x0
+float_min == int_min : 0x0
+float_min == uint_max : 0x0
+float_min == ulong_max : 0x0
+float_min == double_min : 0x0
+float_min == double_max : 0x0
+float_min == float_min : 0x1
+float_min == float_max : 0x0
+float_min != zero_min : 0x1
+float_min != zero_plus : 0x1
+float_min != zero : 0x1
+float_min != NaN : 0x1
+float_min != Inf_plus : 0x1
+float_min != Inf_min : 0x1
+float_min != Inf : 0x1
+float_min != long_max : 0x1
+float_min != long_min : 0x1
+float_min != int_max : 0x1
+float_min != int_min : 0x1
+float_min != uint_max : 0x1
+float_min != ulong_max : 0x1
+float_min != double_min : 0x1
+float_min != double_max : 0x1
+float_min != float_min : 0x0
+float_min != float_max : 0x1
+float_min * float_min * zero_min : 0x0
+float_min * float_min * zero_plus : 0x0
+float_min * float_min * zero : 0x0
+float_min * float_min * NaN : NaN
+float_min * float_min * Inf_plus : Inf
+float_min * float_min * Inf_min : -Inf
+float_min * float_min * Inf : Inf
+float_min * float_min * long_max : 0x.08e-46
+float_min * float_min * long_min : 0x.8e-47
+float_min * float_min * int_max : 0x.7fffffffe-55
+float_min * float_min * int_min : 0x.8e-55
+float_min * float_min * uint_max : 0x.0ffffffffe-54
+float_min * float_min * ulong_max : 0x.1e-46
+float_min * float_min * double_min : 0x0
+float_min * float_min * double_max : 0x0fffffffffffff8e+179
+float_min * float_min * float_min : 0x.4e-94
+float_min * float_min * float_max : 0x.0ffffffe-30
+float_max / zero_min : -Inf
+float_max / zero_plus : Inf
+float_max / zero : Inf
+float_max / NaN : NaN
+float_max / Inf_plus : 0x0
+float_max / Inf_min : 0x0
+float_max / Inf : 0x0
+float_max / long_max : 0x1fffffee+10
+float_max / long_min : 0xe000002e+10
+float_max / int_max : 0x1fffffe04e+16
+float_max / int_min : 0xe000002e+18
+float_max / uint_max : 0x0ffffff01e+16
+float_max / ulong_max : 0x0ffffffe+10
+float_max / double_min : Inf
+float_max / double_max : 0x.0ffffff00000008e-223
+float_max / float_min : 0x3fffffce+57
+float_max / float_max : 0x1
+float_max * zero_min : 0x0
+float_max * zero_plus : 0x0
+float_max * zero : 0x0
+float_max * NaN : NaN
+float_max * Inf_plus : Inf
+float_max * Inf_min : -Inf
+float_max * Inf : Inf
+float_max * long_max : 0x7fffff8e+41
+float_max * long_min : 0x8000008e+41
+float_max * int_max : 0x7fffff7fe+32
+float_max * int_min : 0x8000008e+33
+float_max * uint_max : 0x0fffffeffe+32
+float_max * ulong_max : 0x0ffffffe+42
+float_max * double_min : 0x.3fffffce-223
+float_max * double_max : Inf
+float_max * float_min : 0x3.fffffc
+float_max * float_max : 0x0fffffe000001e+52
+float_max + zero_min : 0x0ffffffe+26
+float_max + zero_plus : 0x0ffffffe+26
+float_max + zero : 0x0ffffffe+26
+float_max + NaN : NaN
+float_max + Inf_plus : Inf
+float_max + Inf_min : -Inf
+float_max + Inf : Inf
+float_max + long_max : 0x0ffffffe+26
+float_max + long_min : 0x0ffffffe+26
+float_max + int_max : 0x0ffffffe+26
+float_max + int_min : 0x0ffffffe+26
+float_max + uint_max : 0x0ffffffe+26
+float_max + ulong_max : 0x0ffffffe+26
+float_max + double_min : 0x0ffffffe+26
+float_max + double_max : 0x0fffffffffffff8e+242
+float_max + float_min : 0x0ffffffe+26
+float_max + float_max : 0x1fffffee+26
+float_max - zero_min : 0x0ffffffe+26
+float_max - zero_plus : 0x0ffffffe+26
+float_max - zero : 0x0ffffffe+26
+float_max - NaN : NaN
+float_max - Inf_plus : -Inf
+float_max - Inf_min : Inf
+float_max - Inf : -Inf
+float_max - long_max : 0x0ffffffe+26
+float_max - long_min : 0x0ffffffe+26
+float_max - int_max : 0x0ffffffe+26
+float_max - int_min : 0x0ffffffe+26
+float_max - uint_max : 0x0ffffffe+26
+float_max - ulong_max : 0x0ffffffe+26
+float_max - double_min : 0x0ffffffe+26
+float_max - double_max : 0xf00000000000008e+242
+float_max - float_min : 0x0ffffffe+26
+float_max - float_max : 0x0
+float_max > zero_min : 0x1
+float_max > zero_plus : 0x1
+float_max > zero : 0x1
+float_max > NaN : 0x0
+float_max > Inf_plus : 0x0
+float_max > Inf_min : 0x1
+float_max > Inf : 0x0
+float_max > long_max : 0x1
+float_max > long_min : 0x1
+float_max > int_max : 0x1
+float_max > int_min : 0x1
+float_max > uint_max : 0x1
+float_max > ulong_max : 0x1
+float_max > double_min : 0x1
+float_max > double_max : 0x0
+float_max > float_min : 0x1
+float_max > float_max : 0x0
+float_max < zero_min : 0x0
+float_max < zero_plus : 0x0
+float_max < zero : 0x0
+float_max < NaN : 0x0
+float_max < Inf_plus : 0x1
+float_max < Inf_min : 0x0
+float_max < Inf : 0x1
+float_max < long_max : 0x0
+float_max < long_min : 0x0
+float_max < int_max : 0x0
+float_max < int_min : 0x0
+float_max < uint_max : 0x0
+float_max < ulong_max : 0x0
+float_max < double_min : 0x0
+float_max < double_max : 0x1
+float_max < float_min : 0x0
+float_max < float_max : 0x0
+float_max >= zero_min : 0x1
+float_max >= zero_plus : 0x1
+float_max >= zero : 0x1
+float_max >= NaN : 0x0
+float_max >= Inf_plus : 0x0
+float_max >= Inf_min : 0x1
+float_max >= Inf : 0x0
+float_max >= long_max : 0x1
+float_max >= long_min : 0x1
+float_max >= int_max : 0x1
+float_max >= int_min : 0x1
+float_max >= uint_max : 0x1
+float_max >= ulong_max : 0x1
+float_max >= double_min : 0x1
+float_max >= double_max : 0x0
+float_max >= float_min : 0x1
+float_max >= float_max : 0x1
+float_max <= zero_min : 0x0
+float_max <= zero_plus : 0x0
+float_max <= zero : 0x0
+float_max <= NaN : 0x0
+float_max <= Inf_plus : 0x1
+float_max <= Inf_min : 0x0
+float_max <= Inf : 0x1
+float_max <= long_max : 0x0
+float_max <= long_min : 0x0
+float_max <= int_max : 0x0
+float_max <= int_min : 0x0
+float_max <= uint_max : 0x0
+float_max <= ulong_max : 0x0
+float_max <= double_min : 0x0
+float_max <= double_max : 0x1
+float_max <= float_min : 0x0
+float_max <= float_max : 0x1
+float_max == zero_min : 0x0
+float_max == zero_plus : 0x0
+float_max == zero : 0x0
+float_max == NaN : 0x0
+float_max == Inf_plus : 0x0
+float_max == Inf_min : 0x0
+float_max == Inf : 0x0
+float_max == long_max : 0x0
+float_max == long_min : 0x0
+float_max == int_max : 0x0
+float_max == int_min : 0x0
+float_max == uint_max : 0x0
+float_max == ulong_max : 0x0
+float_max == double_min : 0x0
+float_max == double_max : 0x0
+float_max == float_min : 0x0
+float_max == float_max : 0x1
+float_max != zero_min : 0x1
+float_max != zero_plus : 0x1
+float_max != zero : 0x1
+float_max != NaN : 0x1
+float_max != Inf_plus : 0x1
+float_max != Inf_min : 0x1
+float_max != Inf : 0x1
+float_max != long_max : 0x1
+float_max != long_min : 0x1
+float_max != int_max : 0x1
+float_max != int_min : 0x1
+float_max != uint_max : 0x1
+float_max != ulong_max : 0x1
+float_max != double_min : 0x1
+float_max != double_max : 0x1
+float_max != float_min : 0x1
+float_max != float_max : 0x0
+float_max * float_max * zero_min : 0x0
+float_max * float_max * zero_plus : 0x0
+float_max * float_max * zero : 0x0
+float_max * float_max * NaN : NaN
+float_max * float_max * Inf_plus : Inf
+float_max * float_max * Inf_min : -Inf
+float_max * float_max * Inf : Inf
+float_max * float_max * long_max : 0x7fffff0000008e+67
+float_max * float_max * long_min : 0x800000ffffff8e+67
+float_max * float_max * int_max : 0x7ffffeff00008e+59
+float_max * float_max * int_min : 0x800000ffffff8e+59
+float_max * float_max * uint_max : 0x0fffffdff0001e+60
+float_max * float_max * ulong_max : 0x0fffffe000001e+68
+float_max * float_max * double_min : 0x.3fffff8000004e-191
+float_max * float_max * double_max : Inf
+float_max * float_max * float_min : 0x3fffff8000004e+20
+float_max * float_max * float_max : 0x0fffffd000003e+84
+double_min / NaN : NaN
+****************** limits fx_ufix
+****************** limits fx_ufix_zero
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x000000000
+long_min : 0x000000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x000000000
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_Inf
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x000000000
+long_min : 0x000000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x000000000
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_long
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x000000000
+long_min : 0x000000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x000000000
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_double
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x000000000
+long_min : 0x000000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x000000000
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_fix
+****************** limits fx_fix_zero
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x00000000
+long_min : 0x00000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0x00000000
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_Inf
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x00000000
+long_min : 0x00000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0x00000000
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_long
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x00000000
+long_min : 0x00000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0x00000000
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_double
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x00000000
+long_min : 0x00000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0x00000000
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fixed<8, 5>
+****************** limits fx_fixed<8, 5>_zero
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_Inf
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_long
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_double
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>
+****************** limits fx_ufixed<8, 5>_zero
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_Inf
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_long
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_double
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.linux b/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.linux
new file mode 100644
index 000000000..847536547
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.linux
@@ -0,0 +1,3482 @@
+SystemC Simulation
+****************** limits fx_float_zero
+****************** limits fx_float_inf
+****************** limits fx_float
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x7fffffff
+long_min : 0x8e+7
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+zero_min / zero_min : NaN
+zero_min / zero_plus : NaN
+zero_min / zero : NaN
+zero_min / NaN : NaN
+zero_min / Inf_plus : 0x0
+zero_min / Inf_min : 0x0
+zero_min / Inf : 0x0
+zero_min / long_max : 0x0
+zero_min / long_min : 0x0
+zero_min / int_max : 0x0
+zero_min / int_min : 0x0
+zero_min / uint_max : 0x0
+zero_min / ulong_max : 0x0
+zero_min / double_min : 0x0
+zero_min / double_max : 0x0
+zero_min / float_min : 0x0
+zero_min / float_max : 0x0
+zero_min * zero_min : 0x0
+zero_min * zero_plus : 0x0
+zero_min * zero : 0x0
+zero_min * NaN : NaN
+zero_min * Inf_plus : NaN
+zero_min * Inf_min : NaN
+zero_min * Inf : NaN
+zero_min * long_max : 0x0
+zero_min * long_min : 0x0
+zero_min * int_max : 0x0
+zero_min * int_min : 0x0
+zero_min * uint_max : 0x0
+zero_min * ulong_max : 0x0
+zero_min * double_min : 0x0
+zero_min * double_max : 0x0
+zero_min * float_min : 0x0
+zero_min * float_max : 0x0
+zero_min + zero_min : 0x0
+zero_min + zero_plus : 0x0
+zero_min + zero : 0x0
+zero_min + NaN : NaN
+zero_min + Inf_plus : Inf
+zero_min + Inf_min : -Inf
+zero_min + Inf : Inf
+zero_min + long_max : 0x7fffffff
+zero_min + long_min : 0x8e+7
+zero_min + int_max : 0x7fffffff
+zero_min + int_min : 0x8e+7
+zero_min + uint_max : 0x0ffffffff
+zero_min + ulong_max : 0x0ffffffff
+zero_min + double_min : 0x.4e-255
+zero_min + double_max : 0x0fffffffffffff8e+242
+zero_min + float_min : 0x.4e-31
+zero_min + float_max : 0x0ffffffe+26
+zero_min - zero_min : 0x0
+zero_min - zero_plus : 0x0
+zero_min - zero : 0x0
+zero_min - NaN : NaN
+zero_min - Inf_plus : -Inf
+zero_min - Inf_min : Inf
+zero_min - Inf : -Inf
+zero_min - long_max : 0x80000001
+zero_min - long_min : 0x08e+7
+zero_min - int_max : 0x80000001
+zero_min - int_min : 0x08e+7
+zero_min - uint_max : 0xf00000001
+zero_min - ulong_max : 0xf00000001
+zero_min - double_min : 0x.ce-255
+zero_min - double_max : 0xf00000000000008e+242
+zero_min - float_min : 0x.ce-31
+zero_min - float_max : 0xf000001e+26
+zero_min > zero_min : 0x0
+zero_min > zero_plus : 0x0
+zero_min > zero : 0x0
+zero_min > NaN : 0x0
+zero_min > Inf_plus : 0x0
+zero_min > Inf_min : 0x1
+zero_min > Inf : 0x0
+zero_min > long_max : 0x0
+zero_min > long_min : 0x1
+zero_min > int_max : 0x0
+zero_min > int_min : 0x1
+zero_min > uint_max : 0x0
+zero_min > ulong_max : 0x0
+zero_min > double_min : 0x0
+zero_min > double_max : 0x0
+zero_min > float_min : 0x0
+zero_min > float_max : 0x0
+zero_min < zero_min : 0x0
+zero_min < zero_plus : 0x0
+zero_min < zero : 0x0
+zero_min < NaN : 0x0
+zero_min < Inf_plus : 0x1
+zero_min < Inf_min : 0x0
+zero_min < Inf : 0x1
+zero_min < long_max : 0x1
+zero_min < long_min : 0x0
+zero_min < int_max : 0x1
+zero_min < int_min : 0x0
+zero_min < uint_max : 0x1
+zero_min < ulong_max : 0x1
+zero_min < double_min : 0x1
+zero_min < double_max : 0x1
+zero_min < float_min : 0x1
+zero_min < float_max : 0x1
+zero_min >= zero_min : 0x1
+zero_min >= zero_plus : 0x1
+zero_min >= zero : 0x1
+zero_min >= NaN : 0x0
+zero_min >= Inf_plus : 0x0
+zero_min >= Inf_min : 0x1
+zero_min >= Inf : 0x0
+zero_min >= long_max : 0x0
+zero_min >= long_min : 0x1
+zero_min >= int_max : 0x0
+zero_min >= int_min : 0x1
+zero_min >= uint_max : 0x0
+zero_min >= ulong_max : 0x0
+zero_min >= double_min : 0x0
+zero_min >= double_max : 0x0
+zero_min >= float_min : 0x0
+zero_min >= float_max : 0x0
+zero_min <= zero_min : 0x1
+zero_min <= zero_plus : 0x1
+zero_min <= zero : 0x1
+zero_min <= NaN : 0x0
+zero_min <= Inf_plus : 0x1
+zero_min <= Inf_min : 0x0
+zero_min <= Inf : 0x1
+zero_min <= long_max : 0x1
+zero_min <= long_min : 0x0
+zero_min <= int_max : 0x1
+zero_min <= int_min : 0x0
+zero_min <= uint_max : 0x1
+zero_min <= ulong_max : 0x1
+zero_min <= double_min : 0x1
+zero_min <= double_max : 0x1
+zero_min <= float_min : 0x1
+zero_min <= float_max : 0x1
+zero_min == zero_min : 0x1
+zero_min == zero_plus : 0x1
+zero_min == zero : 0x1
+zero_min == NaN : 0x0
+zero_min == Inf_plus : 0x0
+zero_min == Inf_min : 0x0
+zero_min == Inf : 0x0
+zero_min == long_max : 0x0
+zero_min == long_min : 0x0
+zero_min == int_max : 0x0
+zero_min == int_min : 0x0
+zero_min == uint_max : 0x0
+zero_min == ulong_max : 0x0
+zero_min == double_min : 0x0
+zero_min == double_max : 0x0
+zero_min == float_min : 0x0
+zero_min == float_max : 0x0
+zero_min != zero_min : 0x0
+zero_min != zero_plus : 0x0
+zero_min != zero : 0x0
+zero_min != NaN : 0x1
+zero_min != Inf_plus : 0x1
+zero_min != Inf_min : 0x1
+zero_min != Inf : 0x1
+zero_min != long_max : 0x1
+zero_min != long_min : 0x1
+zero_min != int_max : 0x1
+zero_min != int_min : 0x1
+zero_min != uint_max : 0x1
+zero_min != ulong_max : 0x1
+zero_min != double_min : 0x1
+zero_min != double_max : 0x1
+zero_min != float_min : 0x1
+zero_min != float_max : 0x1
+zero_min * zero_min * zero_min : 0x0
+zero_min * zero_min * zero_plus : 0x0
+zero_min * zero_min * zero : 0x0
+zero_min * zero_min * NaN : NaN
+zero_min * zero_min * Inf_plus : NaN
+zero_min * zero_min * Inf_min : NaN
+zero_min * zero_min * Inf : NaN
+zero_min * zero_min * long_max : 0x0
+zero_min * zero_min * long_min : 0x0
+zero_min * zero_min * int_max : 0x0
+zero_min * zero_min * int_min : 0x0
+zero_min * zero_min * uint_max : 0x0
+zero_min * zero_min * ulong_max : 0x0
+zero_min * zero_min * double_min : 0x0
+zero_min * zero_min * double_max : 0x0
+zero_min * zero_min * float_min : 0x0
+zero_min * zero_min * float_max : 0x0
+zero_plus / zero_min : NaN
+zero_plus / zero_plus : NaN
+zero_plus / zero : NaN
+zero_plus / NaN : NaN
+zero_plus / Inf_plus : 0x0
+zero_plus / Inf_min : 0x0
+zero_plus / Inf : 0x0
+zero_plus / long_max : 0x0
+zero_plus / long_min : 0x0
+zero_plus / int_max : 0x0
+zero_plus / int_min : 0x0
+zero_plus / uint_max : 0x0
+zero_plus / ulong_max : 0x0
+zero_plus / double_min : 0x0
+zero_plus / double_max : 0x0
+zero_plus / float_min : 0x0
+zero_plus / float_max : 0x0
+zero_plus * zero_min : 0x0
+zero_plus * zero_plus : 0x0
+zero_plus * zero : 0x0
+zero_plus * NaN : NaN
+zero_plus * Inf_plus : NaN
+zero_plus * Inf_min : NaN
+zero_plus * Inf : NaN
+zero_plus * long_max : 0x0
+zero_plus * long_min : 0x0
+zero_plus * int_max : 0x0
+zero_plus * int_min : 0x0
+zero_plus * uint_max : 0x0
+zero_plus * ulong_max : 0x0
+zero_plus * double_min : 0x0
+zero_plus * double_max : 0x0
+zero_plus * float_min : 0x0
+zero_plus * float_max : 0x0
+zero_plus + zero_min : 0x0
+zero_plus + zero_plus : 0x0
+zero_plus + zero : 0x0
+zero_plus + NaN : NaN
+zero_plus + Inf_plus : Inf
+zero_plus + Inf_min : -Inf
+zero_plus + Inf : Inf
+zero_plus + long_max : 0x7fffffff
+zero_plus + long_min : 0x8e+7
+zero_plus + int_max : 0x7fffffff
+zero_plus + int_min : 0x8e+7
+zero_plus + uint_max : 0x0ffffffff
+zero_plus + ulong_max : 0x0ffffffff
+zero_plus + double_min : 0x.4e-255
+zero_plus + double_max : 0x0fffffffffffff8e+242
+zero_plus + float_min : 0x.4e-31
+zero_plus + float_max : 0x0ffffffe+26
+zero_plus - zero_min : 0x0
+zero_plus - zero_plus : 0x0
+zero_plus - zero : 0x0
+zero_plus - NaN : NaN
+zero_plus - Inf_plus : -Inf
+zero_plus - Inf_min : Inf
+zero_plus - Inf : -Inf
+zero_plus - long_max : 0x80000001
+zero_plus - long_min : 0x08e+7
+zero_plus - int_max : 0x80000001
+zero_plus - int_min : 0x08e+7
+zero_plus - uint_max : 0xf00000001
+zero_plus - ulong_max : 0xf00000001
+zero_plus - double_min : 0x.ce-255
+zero_plus - double_max : 0xf00000000000008e+242
+zero_plus - float_min : 0x.ce-31
+zero_plus - float_max : 0xf000001e+26
+zero_plus > zero_min : 0x0
+zero_plus > zero_plus : 0x0
+zero_plus > zero : 0x0
+zero_plus > NaN : 0x0
+zero_plus > Inf_plus : 0x0
+zero_plus > Inf_min : 0x1
+zero_plus > Inf : 0x0
+zero_plus > long_max : 0x0
+zero_plus > long_min : 0x1
+zero_plus > int_max : 0x0
+zero_plus > int_min : 0x1
+zero_plus > uint_max : 0x0
+zero_plus > ulong_max : 0x0
+zero_plus > double_min : 0x0
+zero_plus > double_max : 0x0
+zero_plus > float_min : 0x0
+zero_plus > float_max : 0x0
+zero_plus < zero_min : 0x0
+zero_plus < zero_plus : 0x0
+zero_plus < zero : 0x0
+zero_plus < NaN : 0x0
+zero_plus < Inf_plus : 0x1
+zero_plus < Inf_min : 0x0
+zero_plus < Inf : 0x1
+zero_plus < long_max : 0x1
+zero_plus < long_min : 0x0
+zero_plus < int_max : 0x1
+zero_plus < int_min : 0x0
+zero_plus < uint_max : 0x1
+zero_plus < ulong_max : 0x1
+zero_plus < double_min : 0x1
+zero_plus < double_max : 0x1
+zero_plus < float_min : 0x1
+zero_plus < float_max : 0x1
+zero_plus >= zero_min : 0x1
+zero_plus >= zero_plus : 0x1
+zero_plus >= zero : 0x1
+zero_plus >= NaN : 0x0
+zero_plus >= Inf_plus : 0x0
+zero_plus >= Inf_min : 0x1
+zero_plus >= Inf : 0x0
+zero_plus >= long_max : 0x0
+zero_plus >= long_min : 0x1
+zero_plus >= int_max : 0x0
+zero_plus >= int_min : 0x1
+zero_plus >= uint_max : 0x0
+zero_plus >= ulong_max : 0x0
+zero_plus >= double_min : 0x0
+zero_plus >= double_max : 0x0
+zero_plus >= float_min : 0x0
+zero_plus >= float_max : 0x0
+zero_plus <= zero_min : 0x1
+zero_plus <= zero_plus : 0x1
+zero_plus <= zero : 0x1
+zero_plus <= NaN : 0x0
+zero_plus <= Inf_plus : 0x1
+zero_plus <= Inf_min : 0x0
+zero_plus <= Inf : 0x1
+zero_plus <= long_max : 0x1
+zero_plus <= long_min : 0x0
+zero_plus <= int_max : 0x1
+zero_plus <= int_min : 0x0
+zero_plus <= uint_max : 0x1
+zero_plus <= ulong_max : 0x1
+zero_plus <= double_min : 0x1
+zero_plus <= double_max : 0x1
+zero_plus <= float_min : 0x1
+zero_plus <= float_max : 0x1
+zero_plus == zero_min : 0x1
+zero_plus == zero_plus : 0x1
+zero_plus == zero : 0x1
+zero_plus == NaN : 0x0
+zero_plus == Inf_plus : 0x0
+zero_plus == Inf_min : 0x0
+zero_plus == Inf : 0x0
+zero_plus == long_max : 0x0
+zero_plus == long_min : 0x0
+zero_plus == int_max : 0x0
+zero_plus == int_min : 0x0
+zero_plus == uint_max : 0x0
+zero_plus == ulong_max : 0x0
+zero_plus == double_min : 0x0
+zero_plus == double_max : 0x0
+zero_plus == float_min : 0x0
+zero_plus == float_max : 0x0
+zero_plus != zero_min : 0x0
+zero_plus != zero_plus : 0x0
+zero_plus != zero : 0x0
+zero_plus != NaN : 0x1
+zero_plus != Inf_plus : 0x1
+zero_plus != Inf_min : 0x1
+zero_plus != Inf : 0x1
+zero_plus != long_max : 0x1
+zero_plus != long_min : 0x1
+zero_plus != int_max : 0x1
+zero_plus != int_min : 0x1
+zero_plus != uint_max : 0x1
+zero_plus != ulong_max : 0x1
+zero_plus != double_min : 0x1
+zero_plus != double_max : 0x1
+zero_plus != float_min : 0x1
+zero_plus != float_max : 0x1
+zero_plus * zero_plus * zero_min : 0x0
+zero_plus * zero_plus * zero_plus : 0x0
+zero_plus * zero_plus * zero : 0x0
+zero_plus * zero_plus * NaN : NaN
+zero_plus * zero_plus * Inf_plus : NaN
+zero_plus * zero_plus * Inf_min : NaN
+zero_plus * zero_plus * Inf : NaN
+zero_plus * zero_plus * long_max : 0x0
+zero_plus * zero_plus * long_min : 0x0
+zero_plus * zero_plus * int_max : 0x0
+zero_plus * zero_plus * int_min : 0x0
+zero_plus * zero_plus * uint_max : 0x0
+zero_plus * zero_plus * ulong_max : 0x0
+zero_plus * zero_plus * double_min : 0x0
+zero_plus * zero_plus * double_max : 0x0
+zero_plus * zero_plus * float_min : 0x0
+zero_plus * zero_plus * float_max : 0x0
+zero / zero_min : NaN
+zero / zero_plus : NaN
+zero / zero : NaN
+zero / NaN : NaN
+zero / Inf_plus : 0x0
+zero / Inf_min : 0x0
+zero / Inf : 0x0
+zero / long_max : 0x0
+zero / long_min : 0x0
+zero / int_max : 0x0
+zero / int_min : 0x0
+zero / uint_max : 0x0
+zero / ulong_max : 0x0
+zero / double_min : 0x0
+zero / double_max : 0x0
+zero / float_min : 0x0
+zero / float_max : 0x0
+zero * zero_min : 0x0
+zero * zero_plus : 0x0
+zero * zero : 0x0
+zero * NaN : NaN
+zero * Inf_plus : NaN
+zero * Inf_min : NaN
+zero * Inf : NaN
+zero * long_max : 0x0
+zero * long_min : 0x0
+zero * int_max : 0x0
+zero * int_min : 0x0
+zero * uint_max : 0x0
+zero * ulong_max : 0x0
+zero * double_min : 0x0
+zero * double_max : 0x0
+zero * float_min : 0x0
+zero * float_max : 0x0
+zero + zero_min : 0x0
+zero + zero_plus : 0x0
+zero + zero : 0x0
+zero + NaN : NaN
+zero + Inf_plus : Inf
+zero + Inf_min : -Inf
+zero + Inf : Inf
+zero + long_max : 0x7fffffff
+zero + long_min : 0x8e+7
+zero + int_max : 0x7fffffff
+zero + int_min : 0x8e+7
+zero + uint_max : 0x0ffffffff
+zero + ulong_max : 0x0ffffffff
+zero + double_min : 0x.4e-255
+zero + double_max : 0x0fffffffffffff8e+242
+zero + float_min : 0x.4e-31
+zero + float_max : 0x0ffffffe+26
+zero - zero_min : 0x0
+zero - zero_plus : 0x0
+zero - zero : 0x0
+zero - NaN : NaN
+zero - Inf_plus : -Inf
+zero - Inf_min : Inf
+zero - Inf : -Inf
+zero - long_max : 0x80000001
+zero - long_min : 0x08e+7
+zero - int_max : 0x80000001
+zero - int_min : 0x08e+7
+zero - uint_max : 0xf00000001
+zero - ulong_max : 0xf00000001
+zero - double_min : 0x.ce-255
+zero - double_max : 0xf00000000000008e+242
+zero - float_min : 0x.ce-31
+zero - float_max : 0xf000001e+26
+zero > zero_min : 0x0
+zero > zero_plus : 0x0
+zero > zero : 0x0
+zero > NaN : 0x0
+zero > Inf_plus : 0x0
+zero > Inf_min : 0x1
+zero > Inf : 0x0
+zero > long_max : 0x0
+zero > long_min : 0x1
+zero > int_max : 0x0
+zero > int_min : 0x1
+zero > uint_max : 0x0
+zero > ulong_max : 0x0
+zero > double_min : 0x0
+zero > double_max : 0x0
+zero > float_min : 0x0
+zero > float_max : 0x0
+zero < zero_min : 0x0
+zero < zero_plus : 0x0
+zero < zero : 0x0
+zero < NaN : 0x0
+zero < Inf_plus : 0x1
+zero < Inf_min : 0x0
+zero < Inf : 0x1
+zero < long_max : 0x1
+zero < long_min : 0x0
+zero < int_max : 0x1
+zero < int_min : 0x0
+zero < uint_max : 0x1
+zero < ulong_max : 0x1
+zero < double_min : 0x1
+zero < double_max : 0x1
+zero < float_min : 0x1
+zero < float_max : 0x1
+zero >= zero_min : 0x1
+zero >= zero_plus : 0x1
+zero >= zero : 0x1
+zero >= NaN : 0x0
+zero >= Inf_plus : 0x0
+zero >= Inf_min : 0x1
+zero >= Inf : 0x0
+zero >= long_max : 0x0
+zero >= long_min : 0x1
+zero >= int_max : 0x0
+zero >= int_min : 0x1
+zero >= uint_max : 0x0
+zero >= ulong_max : 0x0
+zero >= double_min : 0x0
+zero >= double_max : 0x0
+zero >= float_min : 0x0
+zero >= float_max : 0x0
+zero <= zero_min : 0x1
+zero <= zero_plus : 0x1
+zero <= zero : 0x1
+zero <= NaN : 0x0
+zero <= Inf_plus : 0x1
+zero <= Inf_min : 0x0
+zero <= Inf : 0x1
+zero <= long_max : 0x1
+zero <= long_min : 0x0
+zero <= int_max : 0x1
+zero <= int_min : 0x0
+zero <= uint_max : 0x1
+zero <= ulong_max : 0x1
+zero <= double_min : 0x1
+zero <= double_max : 0x1
+zero <= float_min : 0x1
+zero <= float_max : 0x1
+zero == zero_min : 0x1
+zero == zero_plus : 0x1
+zero == zero : 0x1
+zero == NaN : 0x0
+zero == Inf_plus : 0x0
+zero == Inf_min : 0x0
+zero == Inf : 0x0
+zero == long_max : 0x0
+zero == long_min : 0x0
+zero == int_max : 0x0
+zero == int_min : 0x0
+zero == uint_max : 0x0
+zero == ulong_max : 0x0
+zero == double_min : 0x0
+zero == double_max : 0x0
+zero == float_min : 0x0
+zero == float_max : 0x0
+zero != zero_min : 0x0
+zero != zero_plus : 0x0
+zero != zero : 0x0
+zero != NaN : 0x1
+zero != Inf_plus : 0x1
+zero != Inf_min : 0x1
+zero != Inf : 0x1
+zero != long_max : 0x1
+zero != long_min : 0x1
+zero != int_max : 0x1
+zero != int_min : 0x1
+zero != uint_max : 0x1
+zero != ulong_max : 0x1
+zero != double_min : 0x1
+zero != double_max : 0x1
+zero != float_min : 0x1
+zero != float_max : 0x1
+zero * zero * zero_min : 0x0
+zero * zero * zero_plus : 0x0
+zero * zero * zero : 0x0
+zero * zero * NaN : NaN
+zero * zero * Inf_plus : NaN
+zero * zero * Inf_min : NaN
+zero * zero * Inf : NaN
+zero * zero * long_max : 0x0
+zero * zero * long_min : 0x0
+zero * zero * int_max : 0x0
+zero * zero * int_min : 0x0
+zero * zero * uint_max : 0x0
+zero * zero * ulong_max : 0x0
+zero * zero * double_min : 0x0
+zero * zero * double_max : 0x0
+zero * zero * float_min : 0x0
+zero * zero * float_max : 0x0
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x7fffffff
+long_min : 0x8e+7
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+NaN / zero_min : NaN
+NaN / zero_plus : NaN
+NaN / zero : NaN
+NaN / NaN : NaN
+NaN / Inf_plus : NaN
+NaN / Inf_min : NaN
+NaN / Inf : NaN
+NaN / long_max : NaN
+NaN / long_min : NaN
+NaN / int_max : NaN
+NaN / int_min : NaN
+NaN / uint_max : NaN
+NaN / ulong_max : NaN
+NaN / double_min : NaN
+NaN / double_max : NaN
+NaN / float_min : NaN
+NaN / float_max : NaN
+NaN * zero_min : NaN
+NaN * zero_plus : NaN
+NaN * zero : NaN
+NaN * NaN : NaN
+NaN * Inf_plus : NaN
+NaN * Inf_min : NaN
+NaN * Inf : NaN
+NaN * long_max : NaN
+NaN * long_min : NaN
+NaN * int_max : NaN
+NaN * int_min : NaN
+NaN * uint_max : NaN
+NaN * ulong_max : NaN
+NaN * double_min : NaN
+NaN * double_max : NaN
+NaN * float_min : NaN
+NaN * float_max : NaN
+NaN + zero_min : NaN
+NaN + zero_plus : NaN
+NaN + zero : NaN
+NaN + NaN : NaN
+NaN + Inf_plus : NaN
+NaN + Inf_min : NaN
+NaN + Inf : NaN
+NaN + long_max : NaN
+NaN + long_min : NaN
+NaN + int_max : NaN
+NaN + int_min : NaN
+NaN + uint_max : NaN
+NaN + ulong_max : NaN
+NaN + double_min : NaN
+NaN + double_max : NaN
+NaN + float_min : NaN
+NaN + float_max : NaN
+NaN - zero_min : NaN
+NaN - zero_plus : NaN
+NaN - zero : NaN
+NaN - NaN : NaN
+NaN - Inf_plus : NaN
+NaN - Inf_min : NaN
+NaN - Inf : NaN
+NaN - long_max : NaN
+NaN - long_min : NaN
+NaN - int_max : NaN
+NaN - int_min : NaN
+NaN - uint_max : NaN
+NaN - ulong_max : NaN
+NaN - double_min : NaN
+NaN - double_max : NaN
+NaN - float_min : NaN
+NaN - float_max : NaN
+NaN > zero_min : 0x0
+NaN > zero_plus : 0x0
+NaN > zero : 0x0
+NaN > NaN : 0x0
+NaN > Inf_plus : 0x0
+NaN > Inf_min : 0x0
+NaN > Inf : 0x0
+NaN > long_max : 0x0
+NaN > long_min : 0x0
+NaN > int_max : 0x0
+NaN > int_min : 0x0
+NaN > uint_max : 0x0
+NaN > ulong_max : 0x0
+NaN > double_min : 0x0
+NaN > double_max : 0x0
+NaN > float_min : 0x0
+NaN > float_max : 0x0
+NaN < zero_min : 0x0
+NaN < zero_plus : 0x0
+NaN < zero : 0x0
+NaN < NaN : 0x0
+NaN < Inf_plus : 0x0
+NaN < Inf_min : 0x0
+NaN < Inf : 0x0
+NaN < long_max : 0x0
+NaN < long_min : 0x0
+NaN < int_max : 0x0
+NaN < int_min : 0x0
+NaN < uint_max : 0x0
+NaN < ulong_max : 0x0
+NaN < double_min : 0x0
+NaN < double_max : 0x0
+NaN < float_min : 0x0
+NaN < float_max : 0x0
+NaN >= zero_min : 0x0
+NaN >= zero_plus : 0x0
+NaN >= zero : 0x0
+NaN >= NaN : 0x0
+NaN >= Inf_plus : 0x0
+NaN >= Inf_min : 0x0
+NaN >= Inf : 0x0
+NaN >= long_max : 0x0
+NaN >= long_min : 0x0
+NaN >= int_max : 0x0
+NaN >= int_min : 0x0
+NaN >= uint_max : 0x0
+NaN >= ulong_max : 0x0
+NaN >= double_min : 0x0
+NaN >= double_max : 0x0
+NaN >= float_min : 0x0
+NaN >= float_max : 0x0
+NaN <= zero_min : 0x0
+NaN <= zero_plus : 0x0
+NaN <= zero : 0x0
+NaN <= NaN : 0x0
+NaN <= Inf_plus : 0x0
+NaN <= Inf_min : 0x0
+NaN <= Inf : 0x0
+NaN <= long_max : 0x0
+NaN <= long_min : 0x0
+NaN <= int_max : 0x0
+NaN <= int_min : 0x0
+NaN <= uint_max : 0x0
+NaN <= ulong_max : 0x0
+NaN <= double_min : 0x0
+NaN <= double_max : 0x0
+NaN <= float_min : 0x0
+NaN <= float_max : 0x0
+NaN == zero_min : 0x0
+NaN == zero_plus : 0x0
+NaN == zero : 0x0
+NaN == NaN : 0x0
+NaN == Inf_plus : 0x0
+NaN == Inf_min : 0x0
+NaN == Inf : 0x0
+NaN == long_max : 0x0
+NaN == long_min : 0x0
+NaN == int_max : 0x0
+NaN == int_min : 0x0
+NaN == uint_max : 0x0
+NaN == ulong_max : 0x0
+NaN == double_min : 0x0
+NaN == double_max : 0x0
+NaN == float_min : 0x0
+NaN == float_max : 0x0
+NaN != zero_min : 0x1
+NaN != zero_plus : 0x1
+NaN != zero : 0x1
+NaN != NaN : 0x1
+NaN != Inf_plus : 0x1
+NaN != Inf_min : 0x1
+NaN != Inf : 0x1
+NaN != long_max : 0x1
+NaN != long_min : 0x1
+NaN != int_max : 0x1
+NaN != int_min : 0x1
+NaN != uint_max : 0x1
+NaN != ulong_max : 0x1
+NaN != double_min : 0x1
+NaN != double_max : 0x1
+NaN != float_min : 0x1
+NaN != float_max : 0x1
+NaN * NaN * zero_min : NaN
+NaN * NaN * zero_plus : NaN
+NaN * NaN * zero : NaN
+NaN * NaN * NaN : NaN
+NaN * NaN * Inf_plus : NaN
+NaN * NaN * Inf_min : NaN
+NaN * NaN * Inf : NaN
+NaN * NaN * long_max : NaN
+NaN * NaN * long_min : NaN
+NaN * NaN * int_max : NaN
+NaN * NaN * int_min : NaN
+NaN * NaN * uint_max : NaN
+NaN * NaN * ulong_max : NaN
+NaN * NaN * double_min : NaN
+NaN * NaN * double_max : NaN
+NaN * NaN * float_min : NaN
+NaN * NaN * float_max : NaN
+Inf_plus / zero_min : -Inf
+Inf_plus / zero_plus : Inf
+Inf_plus / zero : Inf
+Inf_plus / NaN : NaN
+Inf_plus / Inf_plus : NaN
+Inf_plus / Inf_min : NaN
+Inf_plus / Inf : NaN
+Inf_plus / long_max : Inf
+Inf_plus / long_min : -Inf
+Inf_plus / int_max : Inf
+Inf_plus / int_min : -Inf
+Inf_plus / uint_max : Inf
+Inf_plus / ulong_max : Inf
+Inf_plus / double_min : Inf
+Inf_plus / double_max : Inf
+Inf_plus / float_min : Inf
+Inf_plus / float_max : Inf
+Inf_plus * zero_min : NaN
+Inf_plus * zero_plus : NaN
+Inf_plus * zero : NaN
+Inf_plus * NaN : NaN
+Inf_plus * Inf_plus : Inf
+Inf_plus * Inf_min : -Inf
+Inf_plus * Inf : Inf
+Inf_plus * long_max : Inf
+Inf_plus * long_min : -Inf
+Inf_plus * int_max : Inf
+Inf_plus * int_min : -Inf
+Inf_plus * uint_max : Inf
+Inf_plus * ulong_max : Inf
+Inf_plus * double_min : Inf
+Inf_plus * double_max : Inf
+Inf_plus * float_min : Inf
+Inf_plus * float_max : Inf
+Inf_plus + zero_min : Inf
+Inf_plus + zero_plus : Inf
+Inf_plus + zero : Inf
+Inf_plus + NaN : NaN
+Inf_plus + Inf_plus : Inf
+Inf_plus + Inf_min : NaN
+Inf_plus + Inf : Inf
+Inf_plus + long_max : Inf
+Inf_plus + long_min : Inf
+Inf_plus + int_max : Inf
+Inf_plus + int_min : Inf
+Inf_plus + uint_max : Inf
+Inf_plus + ulong_max : Inf
+Inf_plus + double_min : Inf
+Inf_plus + double_max : Inf
+Inf_plus + float_min : Inf
+Inf_plus + float_max : Inf
+Inf_plus - zero_min : Inf
+Inf_plus - zero_plus : Inf
+Inf_plus - zero : Inf
+Inf_plus - NaN : NaN
+Inf_plus - Inf_plus : NaN
+Inf_plus - Inf_min : Inf
+Inf_plus - Inf : NaN
+Inf_plus - long_max : Inf
+Inf_plus - long_min : Inf
+Inf_plus - int_max : Inf
+Inf_plus - int_min : Inf
+Inf_plus - uint_max : Inf
+Inf_plus - ulong_max : Inf
+Inf_plus - double_min : Inf
+Inf_plus - double_max : Inf
+Inf_plus - float_min : Inf
+Inf_plus - float_max : Inf
+Inf_plus > zero_min : 0x1
+Inf_plus > zero_plus : 0x1
+Inf_plus > zero : 0x1
+Inf_plus > NaN : 0x0
+Inf_plus > Inf_plus : 0x0
+Inf_plus > Inf_min : 0x1
+Inf_plus > Inf : 0x0
+Inf_plus > long_max : 0x1
+Inf_plus > long_min : 0x1
+Inf_plus > int_max : 0x1
+Inf_plus > int_min : 0x1
+Inf_plus > uint_max : 0x1
+Inf_plus > ulong_max : 0x1
+Inf_plus > double_min : 0x1
+Inf_plus > double_max : 0x1
+Inf_plus > float_min : 0x1
+Inf_plus > float_max : 0x1
+Inf_plus < zero_min : 0x0
+Inf_plus < zero_plus : 0x0
+Inf_plus < zero : 0x0
+Inf_plus < NaN : 0x0
+Inf_plus < Inf_plus : 0x0
+Inf_plus < Inf_min : 0x0
+Inf_plus < Inf : 0x0
+Inf_plus < long_max : 0x0
+Inf_plus < long_min : 0x0
+Inf_plus < int_max : 0x0
+Inf_plus < int_min : 0x0
+Inf_plus < uint_max : 0x0
+Inf_plus < ulong_max : 0x0
+Inf_plus < double_min : 0x0
+Inf_plus < double_max : 0x0
+Inf_plus < float_min : 0x0
+Inf_plus < float_max : 0x0
+Inf_plus >= zero_min : 0x1
+Inf_plus >= zero_plus : 0x1
+Inf_plus >= zero : 0x1
+Inf_plus >= NaN : 0x0
+Inf_plus >= Inf_plus : 0x1
+Inf_plus >= Inf_min : 0x1
+Inf_plus >= Inf : 0x1
+Inf_plus >= long_max : 0x1
+Inf_plus >= long_min : 0x1
+Inf_plus >= int_max : 0x1
+Inf_plus >= int_min : 0x1
+Inf_plus >= uint_max : 0x1
+Inf_plus >= ulong_max : 0x1
+Inf_plus >= double_min : 0x1
+Inf_plus >= double_max : 0x1
+Inf_plus >= float_min : 0x1
+Inf_plus >= float_max : 0x1
+Inf_plus <= zero_min : 0x0
+Inf_plus <= zero_plus : 0x0
+Inf_plus <= zero : 0x0
+Inf_plus <= NaN : 0x0
+Inf_plus <= Inf_plus : 0x1
+Inf_plus <= Inf_min : 0x0
+Inf_plus <= Inf : 0x1
+Inf_plus <= long_max : 0x0
+Inf_plus <= long_min : 0x0
+Inf_plus <= int_max : 0x0
+Inf_plus <= int_min : 0x0
+Inf_plus <= uint_max : 0x0
+Inf_plus <= ulong_max : 0x0
+Inf_plus <= double_min : 0x0
+Inf_plus <= double_max : 0x0
+Inf_plus <= float_min : 0x0
+Inf_plus <= float_max : 0x0
+Inf_plus == zero_min : 0x0
+Inf_plus == zero_plus : 0x0
+Inf_plus == zero : 0x0
+Inf_plus == NaN : 0x0
+Inf_plus == Inf_plus : 0x1
+Inf_plus == Inf_min : 0x0
+Inf_plus == Inf : 0x1
+Inf_plus == long_max : 0x0
+Inf_plus == long_min : 0x0
+Inf_plus == int_max : 0x0
+Inf_plus == int_min : 0x0
+Inf_plus == uint_max : 0x0
+Inf_plus == ulong_max : 0x0
+Inf_plus == double_min : 0x0
+Inf_plus == double_max : 0x0
+Inf_plus == float_min : 0x0
+Inf_plus == float_max : 0x0
+Inf_plus != zero_min : 0x1
+Inf_plus != zero_plus : 0x1
+Inf_plus != zero : 0x1
+Inf_plus != NaN : 0x1
+Inf_plus != Inf_plus : 0x0
+Inf_plus != Inf_min : 0x1
+Inf_plus != Inf : 0x0
+Inf_plus != long_max : 0x1
+Inf_plus != long_min : 0x1
+Inf_plus != int_max : 0x1
+Inf_plus != int_min : 0x1
+Inf_plus != uint_max : 0x1
+Inf_plus != ulong_max : 0x1
+Inf_plus != double_min : 0x1
+Inf_plus != double_max : 0x1
+Inf_plus != float_min : 0x1
+Inf_plus != float_max : 0x1
+Inf_plus * Inf_plus * zero_min : NaN
+Inf_plus * Inf_plus * zero_plus : NaN
+Inf_plus * Inf_plus * zero : NaN
+Inf_plus * Inf_plus * NaN : NaN
+Inf_plus * Inf_plus * Inf_plus : Inf
+Inf_plus * Inf_plus * Inf_min : -Inf
+Inf_plus * Inf_plus * Inf : Inf
+Inf_plus * Inf_plus * long_max : Inf
+Inf_plus * Inf_plus * long_min : -Inf
+Inf_plus * Inf_plus * int_max : Inf
+Inf_plus * Inf_plus * int_min : -Inf
+Inf_plus * Inf_plus * uint_max : Inf
+Inf_plus * Inf_plus * ulong_max : Inf
+Inf_plus * Inf_plus * double_min : Inf
+Inf_plus * Inf_plus * double_max : Inf
+Inf_plus * Inf_plus * float_min : Inf
+Inf_plus * Inf_plus * float_max : Inf
+Inf_min / zero_min : Inf
+Inf_min / zero_plus : -Inf
+Inf_min / zero : -Inf
+Inf_min / NaN : NaN
+Inf_min / Inf_plus : NaN
+Inf_min / Inf_min : NaN
+Inf_min / Inf : NaN
+Inf_min / long_max : -Inf
+Inf_min / long_min : Inf
+Inf_min / int_max : -Inf
+Inf_min / int_min : Inf
+Inf_min / uint_max : -Inf
+Inf_min / ulong_max : -Inf
+Inf_min / double_min : -Inf
+Inf_min / double_max : -Inf
+Inf_min / float_min : -Inf
+Inf_min / float_max : -Inf
+Inf_min * zero_min : NaN
+Inf_min * zero_plus : NaN
+Inf_min * zero : NaN
+Inf_min * NaN : NaN
+Inf_min * Inf_plus : -Inf
+Inf_min * Inf_min : Inf
+Inf_min * Inf : -Inf
+Inf_min * long_max : -Inf
+Inf_min * long_min : Inf
+Inf_min * int_max : -Inf
+Inf_min * int_min : Inf
+Inf_min * uint_max : -Inf
+Inf_min * ulong_max : -Inf
+Inf_min * double_min : -Inf
+Inf_min * double_max : -Inf
+Inf_min * float_min : -Inf
+Inf_min * float_max : -Inf
+Inf_min + zero_min : -Inf
+Inf_min + zero_plus : -Inf
+Inf_min + zero : -Inf
+Inf_min + NaN : NaN
+Inf_min + Inf_plus : NaN
+Inf_min + Inf_min : -Inf
+Inf_min + Inf : NaN
+Inf_min + long_max : -Inf
+Inf_min + long_min : -Inf
+Inf_min + int_max : -Inf
+Inf_min + int_min : -Inf
+Inf_min + uint_max : -Inf
+Inf_min + ulong_max : -Inf
+Inf_min + double_min : -Inf
+Inf_min + double_max : -Inf
+Inf_min + float_min : -Inf
+Inf_min + float_max : -Inf
+Inf_min - zero_min : -Inf
+Inf_min - zero_plus : -Inf
+Inf_min - zero : -Inf
+Inf_min - NaN : NaN
+Inf_min - Inf_plus : -Inf
+Inf_min - Inf_min : NaN
+Inf_min - Inf : -Inf
+Inf_min - long_max : -Inf
+Inf_min - long_min : -Inf
+Inf_min - int_max : -Inf
+Inf_min - int_min : -Inf
+Inf_min - uint_max : -Inf
+Inf_min - ulong_max : -Inf
+Inf_min - double_min : -Inf
+Inf_min - double_max : -Inf
+Inf_min - float_min : -Inf
+Inf_min - float_max : -Inf
+Inf_min > zero_min : 0x0
+Inf_min > zero_plus : 0x0
+Inf_min > zero : 0x0
+Inf_min > NaN : 0x0
+Inf_min > Inf_plus : 0x0
+Inf_min > Inf_min : 0x0
+Inf_min > Inf : 0x0
+Inf_min > long_max : 0x0
+Inf_min > long_min : 0x0
+Inf_min > int_max : 0x0
+Inf_min > int_min : 0x0
+Inf_min > uint_max : 0x0
+Inf_min > ulong_max : 0x0
+Inf_min > double_min : 0x0
+Inf_min > double_max : 0x0
+Inf_min > float_min : 0x0
+Inf_min > float_max : 0x0
+Inf_min < zero_min : 0x1
+Inf_min < zero_plus : 0x1
+Inf_min < zero : 0x1
+Inf_min < NaN : 0x0
+Inf_min < Inf_plus : 0x1
+Inf_min < Inf_min : 0x0
+Inf_min < Inf : 0x1
+Inf_min < long_max : 0x1
+Inf_min < long_min : 0x1
+Inf_min < int_max : 0x1
+Inf_min < int_min : 0x1
+Inf_min < uint_max : 0x1
+Inf_min < ulong_max : 0x1
+Inf_min < double_min : 0x1
+Inf_min < double_max : 0x1
+Inf_min < float_min : 0x1
+Inf_min < float_max : 0x1
+Inf_min >= zero_min : 0x0
+Inf_min >= zero_plus : 0x0
+Inf_min >= zero : 0x0
+Inf_min >= NaN : 0x0
+Inf_min >= Inf_plus : 0x0
+Inf_min >= Inf_min : 0x1
+Inf_min >= Inf : 0x0
+Inf_min >= long_max : 0x0
+Inf_min >= long_min : 0x0
+Inf_min >= int_max : 0x0
+Inf_min >= int_min : 0x0
+Inf_min >= uint_max : 0x0
+Inf_min >= ulong_max : 0x0
+Inf_min >= double_min : 0x0
+Inf_min >= double_max : 0x0
+Inf_min >= float_min : 0x0
+Inf_min >= float_max : 0x0
+Inf_min <= zero_min : 0x1
+Inf_min <= zero_plus : 0x1
+Inf_min <= zero : 0x1
+Inf_min <= NaN : 0x0
+Inf_min <= Inf_plus : 0x1
+Inf_min <= Inf_min : 0x1
+Inf_min <= Inf : 0x1
+Inf_min <= long_max : 0x1
+Inf_min <= long_min : 0x1
+Inf_min <= int_max : 0x1
+Inf_min <= int_min : 0x1
+Inf_min <= uint_max : 0x1
+Inf_min <= ulong_max : 0x1
+Inf_min <= double_min : 0x1
+Inf_min <= double_max : 0x1
+Inf_min <= float_min : 0x1
+Inf_min <= float_max : 0x1
+Inf_min == zero_min : 0x0
+Inf_min == zero_plus : 0x0
+Inf_min == zero : 0x0
+Inf_min == NaN : 0x0
+Inf_min == Inf_plus : 0x0
+Inf_min == Inf_min : 0x1
+Inf_min == Inf : 0x0
+Inf_min == long_max : 0x0
+Inf_min == long_min : 0x0
+Inf_min == int_max : 0x0
+Inf_min == int_min : 0x0
+Inf_min == uint_max : 0x0
+Inf_min == ulong_max : 0x0
+Inf_min == double_min : 0x0
+Inf_min == double_max : 0x0
+Inf_min == float_min : 0x0
+Inf_min == float_max : 0x0
+Inf_min != zero_min : 0x1
+Inf_min != zero_plus : 0x1
+Inf_min != zero : 0x1
+Inf_min != NaN : 0x1
+Inf_min != Inf_plus : 0x1
+Inf_min != Inf_min : 0x0
+Inf_min != Inf : 0x1
+Inf_min != long_max : 0x1
+Inf_min != long_min : 0x1
+Inf_min != int_max : 0x1
+Inf_min != int_min : 0x1
+Inf_min != uint_max : 0x1
+Inf_min != ulong_max : 0x1
+Inf_min != double_min : 0x1
+Inf_min != double_max : 0x1
+Inf_min != float_min : 0x1
+Inf_min != float_max : 0x1
+Inf_min * Inf_min * zero_min : NaN
+Inf_min * Inf_min * zero_plus : NaN
+Inf_min * Inf_min * zero : NaN
+Inf_min * Inf_min * NaN : NaN
+Inf_min * Inf_min * Inf_plus : Inf
+Inf_min * Inf_min * Inf_min : -Inf
+Inf_min * Inf_min * Inf : Inf
+Inf_min * Inf_min * long_max : Inf
+Inf_min * Inf_min * long_min : -Inf
+Inf_min * Inf_min * int_max : Inf
+Inf_min * Inf_min * int_min : -Inf
+Inf_min * Inf_min * uint_max : Inf
+Inf_min * Inf_min * ulong_max : Inf
+Inf_min * Inf_min * double_min : Inf
+Inf_min * Inf_min * double_max : Inf
+Inf_min * Inf_min * float_min : Inf
+Inf_min * Inf_min * float_max : Inf
+Inf / zero_min : -Inf
+Inf / zero_plus : Inf
+Inf / zero : Inf
+Inf / NaN : NaN
+Inf / Inf_plus : NaN
+Inf / Inf_min : NaN
+Inf / Inf : NaN
+Inf / long_max : Inf
+Inf / long_min : -Inf
+Inf / int_max : Inf
+Inf / int_min : -Inf
+Inf / uint_max : Inf
+Inf / ulong_max : Inf
+Inf / double_min : Inf
+Inf / double_max : Inf
+Inf / float_min : Inf
+Inf / float_max : Inf
+Inf * zero_min : NaN
+Inf * zero_plus : NaN
+Inf * zero : NaN
+Inf * NaN : NaN
+Inf * Inf_plus : Inf
+Inf * Inf_min : -Inf
+Inf * Inf : Inf
+Inf * long_max : Inf
+Inf * long_min : -Inf
+Inf * int_max : Inf
+Inf * int_min : -Inf
+Inf * uint_max : Inf
+Inf * ulong_max : Inf
+Inf * double_min : Inf
+Inf * double_max : Inf
+Inf * float_min : Inf
+Inf * float_max : Inf
+Inf + zero_min : Inf
+Inf + zero_plus : Inf
+Inf + zero : Inf
+Inf + NaN : NaN
+Inf + Inf_plus : Inf
+Inf + Inf_min : NaN
+Inf + Inf : Inf
+Inf + long_max : Inf
+Inf + long_min : Inf
+Inf + int_max : Inf
+Inf + int_min : Inf
+Inf + uint_max : Inf
+Inf + ulong_max : Inf
+Inf + double_min : Inf
+Inf + double_max : Inf
+Inf + float_min : Inf
+Inf + float_max : Inf
+Inf - zero_min : Inf
+Inf - zero_plus : Inf
+Inf - zero : Inf
+Inf - NaN : NaN
+Inf - Inf_plus : NaN
+Inf - Inf_min : Inf
+Inf - Inf : NaN
+Inf - long_max : Inf
+Inf - long_min : Inf
+Inf - int_max : Inf
+Inf - int_min : Inf
+Inf - uint_max : Inf
+Inf - ulong_max : Inf
+Inf - double_min : Inf
+Inf - double_max : Inf
+Inf - float_min : Inf
+Inf - float_max : Inf
+Inf > zero_min : 0x1
+Inf > zero_plus : 0x1
+Inf > zero : 0x1
+Inf > NaN : 0x0
+Inf > Inf_plus : 0x0
+Inf > Inf_min : 0x1
+Inf > Inf : 0x0
+Inf > long_max : 0x1
+Inf > long_min : 0x1
+Inf > int_max : 0x1
+Inf > int_min : 0x1
+Inf > uint_max : 0x1
+Inf > ulong_max : 0x1
+Inf > double_min : 0x1
+Inf > double_max : 0x1
+Inf > float_min : 0x1
+Inf > float_max : 0x1
+Inf < zero_min : 0x0
+Inf < zero_plus : 0x0
+Inf < zero : 0x0
+Inf < NaN : 0x0
+Inf < Inf_plus : 0x0
+Inf < Inf_min : 0x0
+Inf < Inf : 0x0
+Inf < long_max : 0x0
+Inf < long_min : 0x0
+Inf < int_max : 0x0
+Inf < int_min : 0x0
+Inf < uint_max : 0x0
+Inf < ulong_max : 0x0
+Inf < double_min : 0x0
+Inf < double_max : 0x0
+Inf < float_min : 0x0
+Inf < float_max : 0x0
+Inf >= zero_min : 0x1
+Inf >= zero_plus : 0x1
+Inf >= zero : 0x1
+Inf >= NaN : 0x0
+Inf >= Inf_plus : 0x1
+Inf >= Inf_min : 0x1
+Inf >= Inf : 0x1
+Inf >= long_max : 0x1
+Inf >= long_min : 0x1
+Inf >= int_max : 0x1
+Inf >= int_min : 0x1
+Inf >= uint_max : 0x1
+Inf >= ulong_max : 0x1
+Inf >= double_min : 0x1
+Inf >= double_max : 0x1
+Inf >= float_min : 0x1
+Inf >= float_max : 0x1
+Inf <= zero_min : 0x0
+Inf <= zero_plus : 0x0
+Inf <= zero : 0x0
+Inf <= NaN : 0x0
+Inf <= Inf_plus : 0x1
+Inf <= Inf_min : 0x0
+Inf <= Inf : 0x1
+Inf <= long_max : 0x0
+Inf <= long_min : 0x0
+Inf <= int_max : 0x0
+Inf <= int_min : 0x0
+Inf <= uint_max : 0x0
+Inf <= ulong_max : 0x0
+Inf <= double_min : 0x0
+Inf <= double_max : 0x0
+Inf <= float_min : 0x0
+Inf <= float_max : 0x0
+Inf == zero_min : 0x0
+Inf == zero_plus : 0x0
+Inf == zero : 0x0
+Inf == NaN : 0x0
+Inf == Inf_plus : 0x1
+Inf == Inf_min : 0x0
+Inf == Inf : 0x1
+Inf == long_max : 0x0
+Inf == long_min : 0x0
+Inf == int_max : 0x0
+Inf == int_min : 0x0
+Inf == uint_max : 0x0
+Inf == ulong_max : 0x0
+Inf == double_min : 0x0
+Inf == double_max : 0x0
+Inf == float_min : 0x0
+Inf == float_max : 0x0
+Inf != zero_min : 0x1
+Inf != zero_plus : 0x1
+Inf != zero : 0x1
+Inf != NaN : 0x1
+Inf != Inf_plus : 0x0
+Inf != Inf_min : 0x1
+Inf != Inf : 0x0
+Inf != long_max : 0x1
+Inf != long_min : 0x1
+Inf != int_max : 0x1
+Inf != int_min : 0x1
+Inf != uint_max : 0x1
+Inf != ulong_max : 0x1
+Inf != double_min : 0x1
+Inf != double_max : 0x1
+Inf != float_min : 0x1
+Inf != float_max : 0x1
+Inf * Inf * zero_min : NaN
+Inf * Inf * zero_plus : NaN
+Inf * Inf * zero : NaN
+Inf * Inf * NaN : NaN
+Inf * Inf * Inf_plus : Inf
+Inf * Inf * Inf_min : -Inf
+Inf * Inf * Inf : Inf
+Inf * Inf * long_max : Inf
+Inf * Inf * long_min : -Inf
+Inf * Inf * int_max : Inf
+Inf * Inf * int_min : -Inf
+Inf * Inf * uint_max : Inf
+Inf * Inf * ulong_max : Inf
+Inf * Inf * double_min : Inf
+Inf * Inf * double_max : Inf
+Inf * Inf * float_min : Inf
+Inf * Inf * float_max : Inf
+****************** limits fx_float_long
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x7fffffff
+long_min : 0x8e+7
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+long_max / zero_min : -Inf
+long_max / zero_plus : Inf
+long_max / zero : Inf
+long_max / NaN : NaN
+long_max / Inf_plus : 0x0
+long_max / Inf_min : 0x0
+long_max / Inf : 0x0
+long_max / long_max : 0x1
+long_max / long_min : 0xf.00000002
+long_max / int_max : 0x1
+long_max / int_min : 0xf.00000002
+long_max / uint_max : 0x.7fffffff8
+long_max / ulong_max : 0x.7fffffff8
+long_max / double_min : Inf
+long_max / double_max : 0x.7fffffff000004e-248
+long_max / float_min : 0x1fffffffce+31
+long_max / float_max : 0x.08000007f00008e-23
+long_max * zero_min : 0x0
+long_max * zero_plus : 0x0
+long_max * zero : 0x0
+long_max * NaN : NaN
+long_max * Inf_plus : Inf
+long_max * Inf_min : -Inf
+long_max * Inf : Inf
+long_max * long_max : 0x3fffffffe+8
+long_max * long_min : 0xc00000008e+7
+long_max * int_max : 0x3fffffffe+8
+long_max * int_min : 0xc00000008e+7
+long_max * uint_max : 0x7ffffffe8e+7
+long_max * ulong_max : 0x7ffffffe8e+7
+long_max * double_min : 0x.1fffffffce-247
+long_max * double_max : Inf
+long_max * float_min : 0x.1fffffffce-23
+long_max * float_max : 0x7fffff7fe+32
+long_max + zero_min : 0x7fffffff
+long_max + zero_plus : 0x7fffffff
+long_max + zero : 0x7fffffff
+long_max + NaN : NaN
+long_max + Inf_plus : Inf
+long_max + Inf_min : -Inf
+long_max + Inf : Inf
+long_max + long_max : 0x0fffffffe
+long_max + long_min : 0xf
+long_max + int_max : 0x0fffffffe
+long_max + int_min : 0xf
+long_max + uint_max : 0x17ffffffe
+long_max + ulong_max : 0x17ffffffe
+long_max + double_min : 0x7fffffff
+long_max + double_max : 0x0fffffffffffff8e+242
+long_max + float_min : 0x7fffffff
+long_max + float_max : 0x0ffffffe+26
+long_max - zero_min : 0x7fffffff
+long_max - zero_plus : 0x7fffffff
+long_max - zero : 0x7fffffff
+long_max - NaN : NaN
+long_max - Inf_plus : -Inf
+long_max - Inf_min : Inf
+long_max - Inf : -Inf
+long_max - long_max : 0x0
+long_max - long_min : 0x0ffffffff
+long_max - int_max : 0x0
+long_max - int_min : 0x0ffffffff
+long_max - uint_max : 0x8e+7
+long_max - ulong_max : 0x8e+7
+long_max - double_min : 0x7fffffff
+long_max - double_max : 0xf00000000000008e+242
+long_max - float_min : 0x7fffffff
+long_max - float_max : 0xf000001e+26
+long_max > zero_min : 0x1
+long_max > zero_plus : 0x1
+long_max > zero : 0x1
+long_max > NaN : 0x0
+long_max > Inf_plus : 0x0
+long_max > Inf_min : 0x1
+long_max > Inf : 0x0
+long_max > long_max : 0x0
+long_max > long_min : 0x1
+long_max > int_max : 0x0
+long_max > int_min : 0x1
+long_max > uint_max : 0x0
+long_max > ulong_max : 0x0
+long_max > double_min : 0x1
+long_max > double_max : 0x0
+long_max > float_min : 0x1
+long_max > float_max : 0x0
+long_max < zero_min : 0x0
+long_max < zero_plus : 0x0
+long_max < zero : 0x0
+long_max < NaN : 0x0
+long_max < Inf_plus : 0x1
+long_max < Inf_min : 0x0
+long_max < Inf : 0x1
+long_max < long_max : 0x0
+long_max < long_min : 0x0
+long_max < int_max : 0x0
+long_max < int_min : 0x0
+long_max < uint_max : 0x1
+long_max < ulong_max : 0x1
+long_max < double_min : 0x0
+long_max < double_max : 0x1
+long_max < float_min : 0x0
+long_max < float_max : 0x1
+long_max >= zero_min : 0x1
+long_max >= zero_plus : 0x1
+long_max >= zero : 0x1
+long_max >= NaN : 0x0
+long_max >= Inf_plus : 0x0
+long_max >= Inf_min : 0x1
+long_max >= Inf : 0x0
+long_max >= long_max : 0x1
+long_max >= long_min : 0x1
+long_max >= int_max : 0x1
+long_max >= int_min : 0x1
+long_max >= uint_max : 0x0
+long_max >= ulong_max : 0x0
+long_max >= double_min : 0x1
+long_max >= double_max : 0x0
+long_max >= float_min : 0x1
+long_max >= float_max : 0x0
+long_max <= zero_min : 0x0
+long_max <= zero_plus : 0x0
+long_max <= zero : 0x0
+long_max <= NaN : 0x0
+long_max <= Inf_plus : 0x1
+long_max <= Inf_min : 0x0
+long_max <= Inf : 0x1
+long_max <= long_max : 0x1
+long_max <= long_min : 0x0
+long_max <= int_max : 0x1
+long_max <= int_min : 0x0
+long_max <= uint_max : 0x1
+long_max <= ulong_max : 0x1
+long_max <= double_min : 0x0
+long_max <= double_max : 0x1
+long_max <= float_min : 0x0
+long_max <= float_max : 0x1
+long_max == zero_min : 0x0
+long_max == zero_plus : 0x0
+long_max == zero : 0x0
+long_max == NaN : 0x0
+long_max == Inf_plus : 0x0
+long_max == Inf_min : 0x0
+long_max == Inf : 0x0
+long_max == long_max : 0x1
+long_max == long_min : 0x0
+long_max == int_max : 0x1
+long_max == int_min : 0x0
+long_max == uint_max : 0x0
+long_max == ulong_max : 0x0
+long_max == double_min : 0x0
+long_max == double_max : 0x0
+long_max == float_min : 0x0
+long_max == float_max : 0x0
+long_max != zero_min : 0x1
+long_max != zero_plus : 0x1
+long_max != zero : 0x1
+long_max != NaN : 0x1
+long_max != Inf_plus : 0x1
+long_max != Inf_min : 0x1
+long_max != Inf : 0x1
+long_max != long_max : 0x0
+long_max != long_min : 0x1
+long_max != int_max : 0x0
+long_max != int_min : 0x1
+long_max != uint_max : 0x1
+long_max != ulong_max : 0x1
+long_max != double_min : 0x1
+long_max != double_max : 0x1
+long_max != float_min : 0x1
+long_max != float_max : 0x1
+long_max * long_max * zero_min : 0x0
+long_max * long_max * zero_plus : 0x0
+long_max * long_max * zero : 0x0
+long_max * long_max * NaN : NaN
+long_max * long_max * Inf_plus : Inf
+long_max * long_max * Inf_min : -Inf
+long_max * long_max * Inf : Inf
+long_max * long_max * long_max : 0x1fffffff4e+15
+long_max * long_max * long_min : 0xe00000008e+15
+long_max * long_max * int_max : 0x1fffffff4e+15
+long_max * long_max * int_min : 0xe00000008e+15
+long_max * long_max * uint_max : 0x3ffffffece+15
+long_max * long_max * ulong_max : 0x3ffffffece+15
+long_max * long_max * double_min : 0x.0fffffffce-239
+long_max * long_max * double_max : Inf
+long_max * long_max * float_min : 0x.0fffffffce-15
+long_max * long_max * float_max : 0x3fffffbfe+40
+long_min / zero_min : Inf
+long_min / zero_plus : -Inf
+long_min / zero : -Inf
+long_min / NaN : NaN
+long_min / Inf_plus : 0x0
+long_min / Inf_min : 0x0
+long_min / Inf : 0x0
+long_min / long_max : 0xe.fffffffe
+long_min / long_min : 0x1
+long_min / int_max : 0xe.fffffffe
+long_min / int_min : 0x1
+long_min / uint_max : 0xf.7fffffff8
+long_min / ulong_max : 0xf.7fffffff8
+long_min / double_min : -Inf
+long_min / double_max : 0x.8e-248
+long_min / float_min : 0xee+39
+long_min / float_max : 0x.f7fffff7fffff8e-23
+long_min * zero_min : 0x0
+long_min * zero_plus : 0x0
+long_min * zero : 0x0
+long_min * NaN : NaN
+long_min * Inf_plus : -Inf
+long_min * Inf_min : Inf
+long_min * Inf : -Inf
+long_min * long_max : 0xc00000008e+7
+long_min * long_min : 0x4e+15
+long_min * int_max : 0xc00000008e+7
+long_min * int_min : 0x4e+15
+long_min * uint_max : 0x800000008e+7
+long_min * ulong_max : 0x800000008e+7
+long_min * double_min : 0x.ee-247
+long_min * double_max : -Inf
+long_min * float_min : 0x.ee-23
+long_min * float_max : 0x8000008e+33
+long_min + zero_min : 0x8e+7
+long_min + zero_plus : 0x8e+7
+long_min + zero : 0x8e+7
+long_min + NaN : NaN
+long_min + Inf_plus : Inf
+long_min + Inf_min : -Inf
+long_min + Inf : Inf
+long_min + long_max : 0xf
+long_min + long_min : 0xfe+8
+long_min + int_max : 0xf
+long_min + int_min : 0xfe+8
+long_min + uint_max : 0x7fffffff
+long_min + ulong_max : 0x7fffffff
+long_min + double_min : 0x8e+7
+long_min + double_max : 0x0fffffffffffff8e+242
+long_min + float_min : 0x8e+7
+long_min + float_max : 0x0ffffffe+26
+long_min - zero_min : 0x8e+7
+long_min - zero_plus : 0x8e+7
+long_min - zero : 0x8e+7
+long_min - NaN : NaN
+long_min - Inf_plus : -Inf
+long_min - Inf_min : Inf
+long_min - Inf : -Inf
+long_min - long_max : 0xf00000001
+long_min - long_min : 0x0
+long_min - int_max : 0xf00000001
+long_min - int_min : 0x0
+long_min - uint_max : 0xe80000001
+long_min - ulong_max : 0xe80000001
+long_min - double_min : 0x8e+7
+long_min - double_max : 0xf00000000000008e+242
+long_min - float_min : 0x8e+7
+long_min - float_max : 0xf000001e+26
+long_min > zero_min : 0x0
+long_min > zero_plus : 0x0
+long_min > zero : 0x0
+long_min > NaN : 0x0
+long_min > Inf_plus : 0x0
+long_min > Inf_min : 0x1
+long_min > Inf : 0x0
+long_min > long_max : 0x0
+long_min > long_min : 0x0
+long_min > int_max : 0x0
+long_min > int_min : 0x0
+long_min > uint_max : 0x0
+long_min > ulong_max : 0x0
+long_min > double_min : 0x0
+long_min > double_max : 0x0
+long_min > float_min : 0x0
+long_min > float_max : 0x0
+long_min < zero_min : 0x1
+long_min < zero_plus : 0x1
+long_min < zero : 0x1
+long_min < NaN : 0x0
+long_min < Inf_plus : 0x1
+long_min < Inf_min : 0x0
+long_min < Inf : 0x1
+long_min < long_max : 0x1
+long_min < long_min : 0x0
+long_min < int_max : 0x1
+long_min < int_min : 0x0
+long_min < uint_max : 0x1
+long_min < ulong_max : 0x1
+long_min < double_min : 0x1
+long_min < double_max : 0x1
+long_min < float_min : 0x1
+long_min < float_max : 0x1
+long_min >= zero_min : 0x0
+long_min >= zero_plus : 0x0
+long_min >= zero : 0x0
+long_min >= NaN : 0x0
+long_min >= Inf_plus : 0x0
+long_min >= Inf_min : 0x1
+long_min >= Inf : 0x0
+long_min >= long_max : 0x0
+long_min >= long_min : 0x1
+long_min >= int_max : 0x0
+long_min >= int_min : 0x1
+long_min >= uint_max : 0x0
+long_min >= ulong_max : 0x0
+long_min >= double_min : 0x0
+long_min >= double_max : 0x0
+long_min >= float_min : 0x0
+long_min >= float_max : 0x0
+long_min <= zero_min : 0x1
+long_min <= zero_plus : 0x1
+long_min <= zero : 0x1
+long_min <= NaN : 0x0
+long_min <= Inf_plus : 0x1
+long_min <= Inf_min : 0x0
+long_min <= Inf : 0x1
+long_min <= long_max : 0x1
+long_min <= long_min : 0x1
+long_min <= int_max : 0x1
+long_min <= int_min : 0x1
+long_min <= uint_max : 0x1
+long_min <= ulong_max : 0x1
+long_min <= double_min : 0x1
+long_min <= double_max : 0x1
+long_min <= float_min : 0x1
+long_min <= float_max : 0x1
+long_min == zero_min : 0x0
+long_min == zero_plus : 0x0
+long_min == zero : 0x0
+long_min == NaN : 0x0
+long_min == Inf_plus : 0x0
+long_min == Inf_min : 0x0
+long_min == Inf : 0x0
+long_min == long_max : 0x0
+long_min == long_min : 0x1
+long_min == int_max : 0x0
+long_min == int_min : 0x1
+long_min == uint_max : 0x0
+long_min == ulong_max : 0x0
+long_min == double_min : 0x0
+long_min == double_max : 0x0
+long_min == float_min : 0x0
+long_min == float_max : 0x0
+long_min != zero_min : 0x1
+long_min != zero_plus : 0x1
+long_min != zero : 0x1
+long_min != NaN : 0x1
+long_min != Inf_plus : 0x1
+long_min != Inf_min : 0x1
+long_min != Inf : 0x1
+long_min != long_max : 0x1
+long_min != long_min : 0x0
+long_min != int_max : 0x1
+long_min != int_min : 0x0
+long_min != uint_max : 0x1
+long_min != ulong_max : 0x1
+long_min != double_min : 0x1
+long_min != double_max : 0x1
+long_min != float_min : 0x1
+long_min != float_max : 0x1
+long_min * long_min * zero_min : 0x0
+long_min * long_min * zero_plus : 0x0
+long_min * long_min * zero : 0x0
+long_min * long_min * NaN : NaN
+long_min * long_min * Inf_plus : Inf
+long_min * long_min * Inf_min : -Inf
+long_min * long_min * Inf : Inf
+long_min * long_min * long_max : 0x1fffffffce+15
+long_min * long_min * long_min : 0xee+23
+long_min * long_min * int_max : 0x1fffffffce+15
+long_min * long_min * int_min : 0xee+23
+long_min * long_min * uint_max : 0x3fffffffce+15
+long_min * long_min * ulong_max : 0x3fffffffce+15
+long_min * long_min * double_min : 0x.1e-239
+long_min * long_min * double_max : Inf
+long_min * long_min * float_min : 0x.1e-15
+long_min * long_min * float_max : 0x3fffffce+41
+int_max / zero_min : -Inf
+int_max / zero_plus : Inf
+int_max / zero : Inf
+int_max / NaN : NaN
+int_max / Inf_plus : 0x0
+int_max / Inf_min : 0x0
+int_max / Inf : 0x0
+int_max / long_max : 0x1
+int_max / long_min : 0xf.00000002
+int_max / int_max : 0x1
+int_max / int_min : 0xf.00000002
+int_max / uint_max : 0x.7fffffff8
+int_max / ulong_max : 0x.7fffffff8
+int_max / double_min : Inf
+int_max / double_max : 0x.7fffffff000004e-248
+int_max / float_min : 0x1fffffffce+31
+int_max / float_max : 0x.08000007f00008e-23
+int_max * zero_min : 0x0
+int_max * zero_plus : 0x0
+int_max * zero : 0x0
+int_max * NaN : NaN
+int_max * Inf_plus : Inf
+int_max * Inf_min : -Inf
+int_max * Inf : Inf
+int_max * long_max : 0x3fffffffe+8
+int_max * long_min : 0xc00000008e+7
+int_max * int_max : 0x3fffffffe+8
+int_max * int_min : 0xc00000008e+7
+int_max * uint_max : 0x7ffffffe8e+7
+int_max * ulong_max : 0x7ffffffe8e+7
+int_max * double_min : 0x.1fffffffce-247
+int_max * double_max : Inf
+int_max * float_min : 0x.1fffffffce-23
+int_max * float_max : 0x7fffff7fe+32
+int_max + zero_min : 0x7fffffff
+int_max + zero_plus : 0x7fffffff
+int_max + zero : 0x7fffffff
+int_max + NaN : NaN
+int_max + Inf_plus : Inf
+int_max + Inf_min : -Inf
+int_max + Inf : Inf
+int_max + long_max : 0x0fffffffe
+int_max + long_min : 0xf
+int_max + int_max : 0x0fffffffe
+int_max + int_min : 0xf
+int_max + uint_max : 0x17ffffffe
+int_max + ulong_max : 0x17ffffffe
+int_max + double_min : 0x7fffffff
+int_max + double_max : 0x0fffffffffffff8e+242
+int_max + float_min : 0x7fffffff
+int_max + float_max : 0x0ffffffe+26
+int_max - zero_min : 0x7fffffff
+int_max - zero_plus : 0x7fffffff
+int_max - zero : 0x7fffffff
+int_max - NaN : NaN
+int_max - Inf_plus : -Inf
+int_max - Inf_min : Inf
+int_max - Inf : -Inf
+int_max - long_max : 0x0
+int_max - long_min : 0x0ffffffff
+int_max - int_max : 0x0
+int_max - int_min : 0x0ffffffff
+int_max - uint_max : 0x8e+7
+int_max - ulong_max : 0x8e+7
+int_max - double_min : 0x7fffffff
+int_max - double_max : 0xf00000000000008e+242
+int_max - float_min : 0x7fffffff
+int_max - float_max : 0xf000001e+26
+int_max > zero_min : 0x1
+int_max > zero_plus : 0x1
+int_max > zero : 0x1
+int_max > NaN : 0x0
+int_max > Inf_plus : 0x0
+int_max > Inf_min : 0x1
+int_max > Inf : 0x0
+int_max > long_max : 0x0
+int_max > long_min : 0x1
+int_max > int_max : 0x0
+int_max > int_min : 0x1
+int_max > uint_max : 0x0
+int_max > ulong_max : 0x0
+int_max > double_min : 0x1
+int_max > double_max : 0x0
+int_max > float_min : 0x1
+int_max > float_max : 0x0
+int_max < zero_min : 0x0
+int_max < zero_plus : 0x0
+int_max < zero : 0x0
+int_max < NaN : 0x0
+int_max < Inf_plus : 0x1
+int_max < Inf_min : 0x0
+int_max < Inf : 0x1
+int_max < long_max : 0x0
+int_max < long_min : 0x0
+int_max < int_max : 0x0
+int_max < int_min : 0x0
+int_max < uint_max : 0x1
+int_max < ulong_max : 0x1
+int_max < double_min : 0x0
+int_max < double_max : 0x1
+int_max < float_min : 0x0
+int_max < float_max : 0x1
+int_max >= zero_min : 0x1
+int_max >= zero_plus : 0x1
+int_max >= zero : 0x1
+int_max >= NaN : 0x0
+int_max >= Inf_plus : 0x0
+int_max >= Inf_min : 0x1
+int_max >= Inf : 0x0
+int_max >= long_max : 0x1
+int_max >= long_min : 0x1
+int_max >= int_max : 0x1
+int_max >= int_min : 0x1
+int_max >= uint_max : 0x0
+int_max >= ulong_max : 0x0
+int_max >= double_min : 0x1
+int_max >= double_max : 0x0
+int_max >= float_min : 0x1
+int_max >= float_max : 0x0
+int_max <= zero_min : 0x0
+int_max <= zero_plus : 0x0
+int_max <= zero : 0x0
+int_max <= NaN : 0x0
+int_max <= Inf_plus : 0x1
+int_max <= Inf_min : 0x0
+int_max <= Inf : 0x1
+int_max <= long_max : 0x1
+int_max <= long_min : 0x0
+int_max <= int_max : 0x1
+int_max <= int_min : 0x0
+int_max <= uint_max : 0x1
+int_max <= ulong_max : 0x1
+int_max <= double_min : 0x0
+int_max <= double_max : 0x1
+int_max <= float_min : 0x0
+int_max <= float_max : 0x1
+int_max == zero_min : 0x0
+int_max == zero_plus : 0x0
+int_max == zero : 0x0
+int_max == NaN : 0x0
+int_max == Inf_plus : 0x0
+int_max == Inf_min : 0x0
+int_max == Inf : 0x0
+int_max == long_max : 0x1
+int_max == long_min : 0x0
+int_max == int_max : 0x1
+int_max == int_min : 0x0
+int_max == uint_max : 0x0
+int_max == ulong_max : 0x0
+int_max == double_min : 0x0
+int_max == double_max : 0x0
+int_max == float_min : 0x0
+int_max == float_max : 0x0
+int_max != zero_min : 0x1
+int_max != zero_plus : 0x1
+int_max != zero : 0x1
+int_max != NaN : 0x1
+int_max != Inf_plus : 0x1
+int_max != Inf_min : 0x1
+int_max != Inf : 0x1
+int_max != long_max : 0x0
+int_max != long_min : 0x1
+int_max != int_max : 0x0
+int_max != int_min : 0x1
+int_max != uint_max : 0x1
+int_max != ulong_max : 0x1
+int_max != double_min : 0x1
+int_max != double_max : 0x1
+int_max != float_min : 0x1
+int_max != float_max : 0x1
+int_max * int_max * zero_min : 0x0
+int_max * int_max * zero_plus : 0x0
+int_max * int_max * zero : 0x0
+int_max * int_max * NaN : NaN
+int_max * int_max * Inf_plus : Inf
+int_max * int_max * Inf_min : -Inf
+int_max * int_max * Inf : Inf
+int_max * int_max * long_max : 0x1fffffff4e+15
+int_max * int_max * long_min : 0xe00000008e+15
+int_max * int_max * int_max : 0x1fffffff4e+15
+int_max * int_max * int_min : 0xe00000008e+15
+int_max * int_max * uint_max : 0x3ffffffece+15
+int_max * int_max * ulong_max : 0x3ffffffece+15
+int_max * int_max * double_min : 0x.0fffffffce-239
+int_max * int_max * double_max : Inf
+int_max * int_max * float_min : 0x.0fffffffce-15
+int_max * int_max * float_max : 0x3fffffbfe+40
+int_min / zero_min : Inf
+int_min / zero_plus : -Inf
+int_min / zero : -Inf
+int_min / NaN : NaN
+int_min / Inf_plus : 0x0
+int_min / Inf_min : 0x0
+int_min / Inf : 0x0
+int_min / long_max : 0xe.fffffffe
+int_min / long_min : 0x1
+int_min / int_max : 0xe.fffffffe
+int_min / int_min : 0x1
+int_min / uint_max : 0xf.7fffffff8
+int_min / ulong_max : 0xf.7fffffff8
+int_min / double_min : -Inf
+int_min / double_max : 0x.8e-248
+int_min / float_min : 0xee+39
+int_min / float_max : 0x.f7fffff7fffff8e-23
+int_min * zero_min : 0x0
+int_min * zero_plus : 0x0
+int_min * zero : 0x0
+int_min * NaN : NaN
+int_min * Inf_plus : -Inf
+int_min * Inf_min : Inf
+int_min * Inf : -Inf
+int_min * long_max : 0xc00000008e+7
+int_min * long_min : 0x4e+15
+int_min * int_max : 0xc00000008e+7
+int_min * int_min : 0x4e+15
+int_min * uint_max : 0x800000008e+7
+int_min * ulong_max : 0x800000008e+7
+int_min * double_min : 0x.ee-247
+int_min * double_max : -Inf
+int_min * float_min : 0x.ee-23
+int_min * float_max : 0x8000008e+33
+int_min + zero_min : 0x8e+7
+int_min + zero_plus : 0x8e+7
+int_min + zero : 0x8e+7
+int_min + NaN : NaN
+int_min + Inf_plus : Inf
+int_min + Inf_min : -Inf
+int_min + Inf : Inf
+int_min + long_max : 0xf
+int_min + long_min : 0xfe+8
+int_min + int_max : 0xf
+int_min + int_min : 0xfe+8
+int_min + uint_max : 0x7fffffff
+int_min + ulong_max : 0x7fffffff
+int_min + double_min : 0x8e+7
+int_min + double_max : 0x0fffffffffffff8e+242
+int_min + float_min : 0x8e+7
+int_min + float_max : 0x0ffffffe+26
+int_min - zero_min : 0x8e+7
+int_min - zero_plus : 0x8e+7
+int_min - zero : 0x8e+7
+int_min - NaN : NaN
+int_min - Inf_plus : -Inf
+int_min - Inf_min : Inf
+int_min - Inf : -Inf
+int_min - long_max : 0xf00000001
+int_min - long_min : 0x0
+int_min - int_max : 0xf00000001
+int_min - int_min : 0x0
+int_min - uint_max : 0xe80000001
+int_min - ulong_max : 0xe80000001
+int_min - double_min : 0x8e+7
+int_min - double_max : 0xf00000000000008e+242
+int_min - float_min : 0x8e+7
+int_min - float_max : 0xf000001e+26
+int_min > zero_min : 0x0
+int_min > zero_plus : 0x0
+int_min > zero : 0x0
+int_min > NaN : 0x0
+int_min > Inf_plus : 0x0
+int_min > Inf_min : 0x1
+int_min > Inf : 0x0
+int_min > long_max : 0x0
+int_min > long_min : 0x0
+int_min > int_max : 0x0
+int_min > int_min : 0x0
+int_min > uint_max : 0x0
+int_min > ulong_max : 0x0
+int_min > double_min : 0x0
+int_min > double_max : 0x0
+int_min > float_min : 0x0
+int_min > float_max : 0x0
+int_min < zero_min : 0x1
+int_min < zero_plus : 0x1
+int_min < zero : 0x1
+int_min < NaN : 0x0
+int_min < Inf_plus : 0x1
+int_min < Inf_min : 0x0
+int_min < Inf : 0x1
+int_min < long_max : 0x1
+int_min < long_min : 0x0
+int_min < int_max : 0x1
+int_min < int_min : 0x0
+int_min < uint_max : 0x1
+int_min < ulong_max : 0x1
+int_min < double_min : 0x1
+int_min < double_max : 0x1
+int_min < float_min : 0x1
+int_min < float_max : 0x1
+int_min >= zero_min : 0x0
+int_min >= zero_plus : 0x0
+int_min >= zero : 0x0
+int_min >= NaN : 0x0
+int_min >= Inf_plus : 0x0
+int_min >= Inf_min : 0x1
+int_min >= Inf : 0x0
+int_min >= long_max : 0x0
+int_min >= long_min : 0x1
+int_min >= int_max : 0x0
+int_min >= int_min : 0x1
+int_min >= uint_max : 0x0
+int_min >= ulong_max : 0x0
+int_min >= double_min : 0x0
+int_min >= double_max : 0x0
+int_min >= float_min : 0x0
+int_min >= float_max : 0x0
+int_min <= zero_min : 0x1
+int_min <= zero_plus : 0x1
+int_min <= zero : 0x1
+int_min <= NaN : 0x0
+int_min <= Inf_plus : 0x1
+int_min <= Inf_min : 0x0
+int_min <= Inf : 0x1
+int_min <= long_max : 0x1
+int_min <= long_min : 0x1
+int_min <= int_max : 0x1
+int_min <= int_min : 0x1
+int_min <= uint_max : 0x1
+int_min <= ulong_max : 0x1
+int_min <= double_min : 0x1
+int_min <= double_max : 0x1
+int_min <= float_min : 0x1
+int_min <= float_max : 0x1
+int_min == zero_min : 0x0
+int_min == zero_plus : 0x0
+int_min == zero : 0x0
+int_min == NaN : 0x0
+int_min == Inf_plus : 0x0
+int_min == Inf_min : 0x0
+int_min == Inf : 0x0
+int_min == long_max : 0x0
+int_min == long_min : 0x1
+int_min == int_max : 0x0
+int_min == int_min : 0x1
+int_min == uint_max : 0x0
+int_min == ulong_max : 0x0
+int_min == double_min : 0x0
+int_min == double_max : 0x0
+int_min == float_min : 0x0
+int_min == float_max : 0x0
+int_min != zero_min : 0x1
+int_min != zero_plus : 0x1
+int_min != zero : 0x1
+int_min != NaN : 0x1
+int_min != Inf_plus : 0x1
+int_min != Inf_min : 0x1
+int_min != Inf : 0x1
+int_min != long_max : 0x1
+int_min != long_min : 0x0
+int_min != int_max : 0x1
+int_min != int_min : 0x0
+int_min != uint_max : 0x1
+int_min != ulong_max : 0x1
+int_min != double_min : 0x1
+int_min != double_max : 0x1
+int_min != float_min : 0x1
+int_min != float_max : 0x1
+int_min * int_min * zero_min : 0x0
+int_min * int_min * zero_plus : 0x0
+int_min * int_min * zero : 0x0
+int_min * int_min * NaN : NaN
+int_min * int_min * Inf_plus : Inf
+int_min * int_min * Inf_min : -Inf
+int_min * int_min * Inf : Inf
+int_min * int_min * long_max : 0x1fffffffce+15
+int_min * int_min * long_min : 0xee+23
+int_min * int_min * int_max : 0x1fffffffce+15
+int_min * int_min * int_min : 0xee+23
+int_min * int_min * uint_max : 0x3fffffffce+15
+int_min * int_min * ulong_max : 0x3fffffffce+15
+int_min * int_min * double_min : 0x.1e-239
+int_min * int_min * double_max : Inf
+int_min * int_min * float_min : 0x.1e-15
+int_min * int_min * float_max : 0x3fffffce+41
+uint_max / zero_min : -Inf
+uint_max / zero_plus : Inf
+uint_max / zero : Inf
+uint_max / NaN : NaN
+uint_max / Inf_plus : 0x0
+uint_max / Inf_min : 0x0
+uint_max / Inf : 0x0
+uint_max / long_max : 0x2.00000002
+uint_max / long_min : 0xe.00000002
+uint_max / int_max : 0x2.00000002
+uint_max / int_min : 0xe.00000002
+uint_max / uint_max : 0x1
+uint_max / ulong_max : 0x1
+uint_max / double_min : Inf
+uint_max / double_max : 0x.0ffffffff000008e-247
+uint_max / float_min : 0x3fffffffce+31
+uint_max / float_max : 0x.1000000ff0001e-23
+uint_max * zero_min : 0x0
+uint_max * zero_plus : 0x0
+uint_max * zero : 0x0
+uint_max * NaN : NaN
+uint_max * Inf_plus : Inf
+uint_max * Inf_min : -Inf
+uint_max * Inf : Inf
+uint_max * long_max : 0x7ffffffe8e+7
+uint_max * long_min : 0x800000008e+7
+uint_max * int_max : 0x7ffffffe8e+7
+uint_max * int_min : 0x800000008e+7
+uint_max * uint_max : 0x0fffffffee+8
+uint_max * ulong_max : 0x0fffffffee+8
+uint_max * double_min : 0x.3fffffffce-247
+uint_max * double_max : Inf
+uint_max * float_min : 0x.3fffffffce-23
+uint_max * float_max : 0x0fffffeffe+32
+uint_max + zero_min : 0x0ffffffff
+uint_max + zero_plus : 0x0ffffffff
+uint_max + zero : 0x0ffffffff
+uint_max + NaN : NaN
+uint_max + Inf_plus : Inf
+uint_max + Inf_min : -Inf
+uint_max + Inf : Inf
+uint_max + long_max : 0x17ffffffe
+uint_max + long_min : 0x7fffffff
+uint_max + int_max : 0x17ffffffe
+uint_max + int_min : 0x7fffffff
+uint_max + uint_max : 0x1fffffffe
+uint_max + ulong_max : 0x1fffffffe
+uint_max + double_min : 0x0ffffffff
+uint_max + double_max : 0x0fffffffffffff8e+242
+uint_max + float_min : 0x0ffffffff
+uint_max + float_max : 0x0ffffffe+26
+uint_max - zero_min : 0x0ffffffff
+uint_max - zero_plus : 0x0ffffffff
+uint_max - zero : 0x0ffffffff
+uint_max - NaN : NaN
+uint_max - Inf_plus : -Inf
+uint_max - Inf_min : Inf
+uint_max - Inf : -Inf
+uint_max - long_max : 0x08e+7
+uint_max - long_min : 0x17fffffff
+uint_max - int_max : 0x08e+7
+uint_max - int_min : 0x17fffffff
+uint_max - uint_max : 0x0
+uint_max - ulong_max : 0x0
+uint_max - double_min : 0x0ffffffff
+uint_max - double_max : 0xf00000000000008e+242
+uint_max - float_min : 0x0ffffffff
+uint_max - float_max : 0xf000001e+26
+uint_max > zero_min : 0x1
+uint_max > zero_plus : 0x1
+uint_max > zero : 0x1
+uint_max > NaN : 0x0
+uint_max > Inf_plus : 0x0
+uint_max > Inf_min : 0x1
+uint_max > Inf : 0x0
+uint_max > long_max : 0x1
+uint_max > long_min : 0x1
+uint_max > int_max : 0x1
+uint_max > int_min : 0x1
+uint_max > uint_max : 0x0
+uint_max > ulong_max : 0x0
+uint_max > double_min : 0x1
+uint_max > double_max : 0x0
+uint_max > float_min : 0x1
+uint_max > float_max : 0x0
+uint_max < zero_min : 0x0
+uint_max < zero_plus : 0x0
+uint_max < zero : 0x0
+uint_max < NaN : 0x0
+uint_max < Inf_plus : 0x1
+uint_max < Inf_min : 0x0
+uint_max < Inf : 0x1
+uint_max < long_max : 0x0
+uint_max < long_min : 0x0
+uint_max < int_max : 0x0
+uint_max < int_min : 0x0
+uint_max < uint_max : 0x0
+uint_max < ulong_max : 0x0
+uint_max < double_min : 0x0
+uint_max < double_max : 0x1
+uint_max < float_min : 0x0
+uint_max < float_max : 0x1
+uint_max >= zero_min : 0x1
+uint_max >= zero_plus : 0x1
+uint_max >= zero : 0x1
+uint_max >= NaN : 0x0
+uint_max >= Inf_plus : 0x0
+uint_max >= Inf_min : 0x1
+uint_max >= Inf : 0x0
+uint_max >= long_max : 0x1
+uint_max >= long_min : 0x1
+uint_max >= int_max : 0x1
+uint_max >= int_min : 0x1
+uint_max >= uint_max : 0x1
+uint_max >= ulong_max : 0x1
+uint_max >= double_min : 0x1
+uint_max >= double_max : 0x0
+uint_max >= float_min : 0x1
+uint_max >= float_max : 0x0
+uint_max <= zero_min : 0x0
+uint_max <= zero_plus : 0x0
+uint_max <= zero : 0x0
+uint_max <= NaN : 0x0
+uint_max <= Inf_plus : 0x1
+uint_max <= Inf_min : 0x0
+uint_max <= Inf : 0x1
+uint_max <= long_max : 0x0
+uint_max <= long_min : 0x0
+uint_max <= int_max : 0x0
+uint_max <= int_min : 0x0
+uint_max <= uint_max : 0x1
+uint_max <= ulong_max : 0x1
+uint_max <= double_min : 0x0
+uint_max <= double_max : 0x1
+uint_max <= float_min : 0x0
+uint_max <= float_max : 0x1
+uint_max == zero_min : 0x0
+uint_max == zero_plus : 0x0
+uint_max == zero : 0x0
+uint_max == NaN : 0x0
+uint_max == Inf_plus : 0x0
+uint_max == Inf_min : 0x0
+uint_max == Inf : 0x0
+uint_max == long_max : 0x0
+uint_max == long_min : 0x0
+uint_max == int_max : 0x0
+uint_max == int_min : 0x0
+uint_max == uint_max : 0x1
+uint_max == ulong_max : 0x1
+uint_max == double_min : 0x0
+uint_max == double_max : 0x0
+uint_max == float_min : 0x0
+uint_max == float_max : 0x0
+uint_max != zero_min : 0x1
+uint_max != zero_plus : 0x1
+uint_max != zero : 0x1
+uint_max != NaN : 0x1
+uint_max != Inf_plus : 0x1
+uint_max != Inf_min : 0x1
+uint_max != Inf : 0x1
+uint_max != long_max : 0x1
+uint_max != long_min : 0x1
+uint_max != int_max : 0x1
+uint_max != int_min : 0x1
+uint_max != uint_max : 0x0
+uint_max != ulong_max : 0x0
+uint_max != double_min : 0x1
+uint_max != double_max : 0x1
+uint_max != float_min : 0x1
+uint_max != float_max : 0x1
+uint_max * uint_max * zero_min : 0x0
+uint_max * uint_max * zero_plus : 0x0
+uint_max * uint_max * zero : 0x0
+uint_max * uint_max * NaN : NaN
+uint_max * uint_max * Inf_plus : Inf
+uint_max * uint_max * Inf_min : -Inf
+uint_max * uint_max * Inf : Inf
+uint_max * uint_max * long_max : 0x7ffffffee+16
+uint_max * uint_max * long_min : 0x80000001e+16
+uint_max * uint_max * int_max : 0x7ffffffee+16
+uint_max * uint_max * int_min : 0x80000001e+16
+uint_max * uint_max * uint_max : 0x0fffffffde+16
+uint_max * uint_max * ulong_max : 0x0fffffffde+16
+uint_max * uint_max * double_min : 0x.3fffffff8e-239
+uint_max * uint_max * double_max : Inf
+uint_max * uint_max * float_min : 0x.3fffffff8e-15
+uint_max * uint_max * float_max : 0x0fffffefee+40
+ulong_max / zero_min : -Inf
+ulong_max / zero_plus : Inf
+ulong_max / zero : Inf
+ulong_max / NaN : NaN
+ulong_max / Inf_plus : 0x0
+ulong_max / Inf_min : 0x0
+ulong_max / Inf : 0x0
+ulong_max / long_max : 0x2.00000002
+ulong_max / long_min : 0xe.00000002
+ulong_max / int_max : 0x2.00000002
+ulong_max / int_min : 0xe.00000002
+ulong_max / uint_max : 0x1
+ulong_max / ulong_max : 0x1
+ulong_max / double_min : Inf
+ulong_max / double_max : 0x.0ffffffff000008e-247
+ulong_max / float_min : 0x3fffffffce+31
+ulong_max / float_max : 0x.1000000ff0001e-23
+ulong_max * zero_min : 0x0
+ulong_max * zero_plus : 0x0
+ulong_max * zero : 0x0
+ulong_max * NaN : NaN
+ulong_max * Inf_plus : Inf
+ulong_max * Inf_min : -Inf
+ulong_max * Inf : Inf
+ulong_max * long_max : 0x7ffffffe8e+7
+ulong_max * long_min : 0x800000008e+7
+ulong_max * int_max : 0x7ffffffe8e+7
+ulong_max * int_min : 0x800000008e+7
+ulong_max * uint_max : 0x0fffffffee+8
+ulong_max * ulong_max : 0x0fffffffee+8
+ulong_max * double_min : 0x.3fffffffce-247
+ulong_max * double_max : Inf
+ulong_max * float_min : 0x.3fffffffce-23
+ulong_max * float_max : 0x0fffffeffe+32
+ulong_max + zero_min : 0x0ffffffff
+ulong_max + zero_plus : 0x0ffffffff
+ulong_max + zero : 0x0ffffffff
+ulong_max + NaN : NaN
+ulong_max + Inf_plus : Inf
+ulong_max + Inf_min : -Inf
+ulong_max + Inf : Inf
+ulong_max + long_max : 0x17ffffffe
+ulong_max + long_min : 0x7fffffff
+ulong_max + int_max : 0x17ffffffe
+ulong_max + int_min : 0x7fffffff
+ulong_max + uint_max : 0x1fffffffe
+ulong_max + ulong_max : 0x1fffffffe
+ulong_max + double_min : 0x0ffffffff
+ulong_max + double_max : 0x0fffffffffffff8e+242
+ulong_max + float_min : 0x0ffffffff
+ulong_max + float_max : 0x0ffffffe+26
+ulong_max - zero_min : 0x0ffffffff
+ulong_max - zero_plus : 0x0ffffffff
+ulong_max - zero : 0x0ffffffff
+ulong_max - NaN : NaN
+ulong_max - Inf_plus : -Inf
+ulong_max - Inf_min : Inf
+ulong_max - Inf : -Inf
+ulong_max - long_max : 0x08e+7
+ulong_max - long_min : 0x17fffffff
+ulong_max - int_max : 0x08e+7
+ulong_max - int_min : 0x17fffffff
+ulong_max - uint_max : 0x0
+ulong_max - ulong_max : 0x0
+ulong_max - double_min : 0x0ffffffff
+ulong_max - double_max : 0xf00000000000008e+242
+ulong_max - float_min : 0x0ffffffff
+ulong_max - float_max : 0xf000001e+26
+ulong_max > zero_min : 0x1
+ulong_max > zero_plus : 0x1
+ulong_max > zero : 0x1
+ulong_max > NaN : 0x0
+ulong_max > Inf_plus : 0x0
+ulong_max > Inf_min : 0x1
+ulong_max > Inf : 0x0
+ulong_max > long_max : 0x1
+ulong_max > long_min : 0x1
+ulong_max > int_max : 0x1
+ulong_max > int_min : 0x1
+ulong_max > uint_max : 0x0
+ulong_max > ulong_max : 0x0
+ulong_max > double_min : 0x1
+ulong_max > double_max : 0x0
+ulong_max > float_min : 0x1
+ulong_max > float_max : 0x0
+ulong_max < zero_min : 0x0
+ulong_max < zero_plus : 0x0
+ulong_max < zero : 0x0
+ulong_max < NaN : 0x0
+ulong_max < Inf_plus : 0x1
+ulong_max < Inf_min : 0x0
+ulong_max < Inf : 0x1
+ulong_max < long_max : 0x0
+ulong_max < long_min : 0x0
+ulong_max < int_max : 0x0
+ulong_max < int_min : 0x0
+ulong_max < uint_max : 0x0
+ulong_max < ulong_max : 0x0
+ulong_max < double_min : 0x0
+ulong_max < double_max : 0x1
+ulong_max < float_min : 0x0
+ulong_max < float_max : 0x1
+ulong_max >= zero_min : 0x1
+ulong_max >= zero_plus : 0x1
+ulong_max >= zero : 0x1
+ulong_max >= NaN : 0x0
+ulong_max >= Inf_plus : 0x0
+ulong_max >= Inf_min : 0x1
+ulong_max >= Inf : 0x0
+ulong_max >= long_max : 0x1
+ulong_max >= long_min : 0x1
+ulong_max >= int_max : 0x1
+ulong_max >= int_min : 0x1
+ulong_max >= uint_max : 0x1
+ulong_max >= ulong_max : 0x1
+ulong_max >= double_min : 0x1
+ulong_max >= double_max : 0x0
+ulong_max >= float_min : 0x1
+ulong_max >= float_max : 0x0
+ulong_max <= zero_min : 0x0
+ulong_max <= zero_plus : 0x0
+ulong_max <= zero : 0x0
+ulong_max <= NaN : 0x0
+ulong_max <= Inf_plus : 0x1
+ulong_max <= Inf_min : 0x0
+ulong_max <= Inf : 0x1
+ulong_max <= long_max : 0x0
+ulong_max <= long_min : 0x0
+ulong_max <= int_max : 0x0
+ulong_max <= int_min : 0x0
+ulong_max <= uint_max : 0x1
+ulong_max <= ulong_max : 0x1
+ulong_max <= double_min : 0x0
+ulong_max <= double_max : 0x1
+ulong_max <= float_min : 0x0
+ulong_max <= float_max : 0x1
+ulong_max == zero_min : 0x0
+ulong_max == zero_plus : 0x0
+ulong_max == zero : 0x0
+ulong_max == NaN : 0x0
+ulong_max == Inf_plus : 0x0
+ulong_max == Inf_min : 0x0
+ulong_max == Inf : 0x0
+ulong_max == long_max : 0x0
+ulong_max == long_min : 0x0
+ulong_max == int_max : 0x0
+ulong_max == int_min : 0x0
+ulong_max == uint_max : 0x1
+ulong_max == ulong_max : 0x1
+ulong_max == double_min : 0x0
+ulong_max == double_max : 0x0
+ulong_max == float_min : 0x0
+ulong_max == float_max : 0x0
+ulong_max != zero_min : 0x1
+ulong_max != zero_plus : 0x1
+ulong_max != zero : 0x1
+ulong_max != NaN : 0x1
+ulong_max != Inf_plus : 0x1
+ulong_max != Inf_min : 0x1
+ulong_max != Inf : 0x1
+ulong_max != long_max : 0x1
+ulong_max != long_min : 0x1
+ulong_max != int_max : 0x1
+ulong_max != int_min : 0x1
+ulong_max != uint_max : 0x0
+ulong_max != ulong_max : 0x0
+ulong_max != double_min : 0x1
+ulong_max != double_max : 0x1
+ulong_max != float_min : 0x1
+ulong_max != float_max : 0x1
+ulong_max * ulong_max * zero_min : 0x0
+ulong_max * ulong_max * zero_plus : 0x0
+ulong_max * ulong_max * zero : 0x0
+ulong_max * ulong_max * NaN : NaN
+ulong_max * ulong_max * Inf_plus : Inf
+ulong_max * ulong_max * Inf_min : -Inf
+ulong_max * ulong_max * Inf : Inf
+ulong_max * ulong_max * long_max : 0x7ffffffee+16
+ulong_max * ulong_max * long_min : 0x80000001e+16
+ulong_max * ulong_max * int_max : 0x7ffffffee+16
+ulong_max * ulong_max * int_min : 0x80000001e+16
+ulong_max * ulong_max * uint_max : 0x0fffffffde+16
+ulong_max * ulong_max * ulong_max : 0x0fffffffde+16
+ulong_max * ulong_max * double_min : 0x.3fffffff8e-239
+ulong_max * ulong_max * double_max : Inf
+ulong_max * ulong_max * float_min : 0x.3fffffff8e-15
+ulong_max * ulong_max * float_max : 0x0fffffefee+40
+****************** limits fx_float_double
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x7fffffff
+long_min : 0x8e+7
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+double_min / zero_min : -Inf
+double_min / zero_plus : Inf
+double_min / zero : Inf
+double_min / NaN : NaN
+double_min / Inf_plus : 0x0
+double_min / Inf_min : 0x0
+double_min / Inf : 0x0
+double_min / long_max : 0x.4e-263
+double_min / long_min : 0x.ce-263
+double_min / int_max : 0x.4e-263
+double_min / int_min : 0x.ce-263
+double_min / uint_max : 0x.2e-263
+double_min / ulong_max : 0x.2e-263
+double_min / double_min : 0x1
+double_min / double_max : 0x0
+double_min / float_min : 0x.1e-223
+double_min / float_max : 0x0
+double_min * zero_min : 0x0
+double_min * zero_plus : 0x0
+double_min * zero : 0x0
+double_min * NaN : NaN
+double_min * Inf_plus : Inf
+double_min * Inf_min : -Inf
+double_min * Inf : Inf
+double_min * long_max : 0x.1fffffffce-247
+double_min * long_min : 0x.ee-247
+double_min * int_max : 0x.1fffffffce-247
+double_min * int_min : 0x.ee-247
+double_min * uint_max : 0x.3fffffffce-247
+double_min * ulong_max : 0x.3fffffffce-247
+double_min * double_min : 0x0
+double_min * double_max : 0x3.ffffffffffffe
+double_min * float_min : 0x0
+double_min * float_max : 0x.3fffffce-223
+double_min + zero_min : 0x.4e-255
+double_min + zero_plus : 0x.4e-255
+double_min + zero : 0x.4e-255
+double_min + NaN : NaN
+double_min + Inf_plus : Inf
+double_min + Inf_min : -Inf
+double_min + Inf : Inf
+double_min + long_max : 0x7fffffff
+double_min + long_min : 0x8e+7
+double_min + int_max : 0x7fffffff
+double_min + int_min : 0x8e+7
+double_min + uint_max : 0x0ffffffff
+double_min + ulong_max : 0x0ffffffff
+double_min + double_min : 0x.08e-254
+double_min + double_max : 0x0fffffffffffff8e+242
+double_min + float_min : 0x.4e-31
+double_min + float_max : 0x0ffffffe+26
+double_min - zero_min : 0x.4e-255
+double_min - zero_plus : 0x.4e-255
+double_min - zero : 0x.4e-255
+double_min - NaN : NaN
+double_min - Inf_plus : -Inf
+double_min - Inf_min : Inf
+double_min - Inf : -Inf
+double_min - long_max : 0x80000001
+double_min - long_min : 0x08e+7
+double_min - int_max : 0x80000001
+double_min - int_min : 0x08e+7
+double_min - uint_max : 0xf00000001
+double_min - ulong_max : 0xf00000001
+double_min - double_min : 0x0
+double_min - double_max : 0xf00000000000008e+242
+double_min - float_min : 0x.ce-31
+double_min - float_max : 0xf000001e+26
+double_min > zero_min : 0x1
+double_min > zero_plus : 0x1
+double_min > zero : 0x1
+double_min > NaN : 0x0
+double_min > Inf_plus : 0x0
+double_min > Inf_min : 0x1
+double_min > Inf : 0x0
+double_min > long_max : 0x0
+double_min > long_min : 0x1
+double_min > int_max : 0x0
+double_min > int_min : 0x1
+double_min > uint_max : 0x0
+double_min > ulong_max : 0x0
+double_min > double_min : 0x0
+double_min > double_max : 0x0
+double_min > float_min : 0x0
+double_min > float_max : 0x0
+double_min < zero_min : 0x0
+double_min < zero_plus : 0x0
+double_min < zero : 0x0
+double_min < NaN : 0x0
+double_min < Inf_plus : 0x1
+double_min < Inf_min : 0x0
+double_min < Inf : 0x1
+double_min < long_max : 0x1
+double_min < long_min : 0x0
+double_min < int_max : 0x1
+double_min < int_min : 0x0
+double_min < uint_max : 0x1
+double_min < ulong_max : 0x1
+double_min < double_min : 0x0
+double_min < double_max : 0x1
+double_min < float_min : 0x1
+double_min < float_max : 0x1
+double_min >= zero_min : 0x1
+double_min >= zero_plus : 0x1
+double_min >= zero : 0x1
+double_min >= NaN : 0x0
+double_min >= Inf_plus : 0x0
+double_min >= Inf_min : 0x1
+double_min >= Inf : 0x0
+double_min >= long_max : 0x0
+double_min >= long_min : 0x1
+double_min >= int_max : 0x0
+double_min >= int_min : 0x1
+double_min >= uint_max : 0x0
+double_min >= ulong_max : 0x0
+double_min >= double_min : 0x1
+double_min >= double_max : 0x0
+double_min >= float_min : 0x0
+double_min >= float_max : 0x0
+double_min <= zero_min : 0x0
+double_min <= zero_plus : 0x0
+double_min <= zero : 0x0
+double_min <= NaN : 0x0
+double_min <= Inf_plus : 0x1
+double_min <= Inf_min : 0x0
+double_min <= Inf : 0x1
+double_min <= long_max : 0x1
+double_min <= long_min : 0x0
+double_min <= int_max : 0x1
+double_min <= int_min : 0x0
+double_min <= uint_max : 0x1
+double_min <= ulong_max : 0x1
+double_min <= double_min : 0x1
+double_min <= double_max : 0x1
+double_min <= float_min : 0x1
+double_min <= float_max : 0x1
+double_min == zero_min : 0x0
+double_min == zero_plus : 0x0
+double_min == zero : 0x0
+double_min == NaN : 0x0
+double_min == Inf_plus : 0x0
+double_min == Inf_min : 0x0
+double_min == Inf : 0x0
+double_min == long_max : 0x0
+double_min == long_min : 0x0
+double_min == int_max : 0x0
+double_min == int_min : 0x0
+double_min == uint_max : 0x0
+double_min == ulong_max : 0x0
+double_min == double_min : 0x1
+double_min == double_max : 0x0
+double_min == float_min : 0x0
+double_min == float_max : 0x0
+double_min != zero_min : 0x1
+double_min != zero_plus : 0x1
+double_min != zero : 0x1
+double_min != NaN : 0x1
+double_min != Inf_plus : 0x1
+double_min != Inf_min : 0x1
+double_min != Inf : 0x1
+double_min != long_max : 0x1
+double_min != long_min : 0x1
+double_min != int_max : 0x1
+double_min != int_min : 0x1
+double_min != uint_max : 0x1
+double_min != ulong_max : 0x1
+double_min != double_min : 0x0
+double_min != double_max : 0x1
+double_min != float_min : 0x1
+double_min != float_max : 0x1
+double_min * double_min * zero_min : 0x0
+double_min * double_min * zero_plus : 0x0
+double_min * double_min * zero : 0x0
+double_min * double_min * NaN : NaN
+double_min * double_min * Inf_plus : NaN
+double_min * double_min * Inf_min : NaN
+double_min * double_min * Inf : NaN
+double_min * double_min * long_max : 0x0
+double_min * double_min * long_min : 0x0
+double_min * double_min * int_max : 0x0
+double_min * double_min * int_min : 0x0
+double_min * double_min * uint_max : 0x0
+double_min * double_min * ulong_max : 0x0
+double_min * double_min * double_min : 0x0
+double_min * double_min * double_max : 0x0
+double_min * double_min * float_min : 0x0
+double_min * double_min * float_max : 0x0
+double_max / zero_min : -Inf
+double_max / zero_plus : Inf
+double_max / zero : Inf
+double_max / NaN : NaN
+double_max / Inf_plus : 0x0
+double_max / Inf_min : 0x0
+double_max / Inf : 0x0
+double_max / long_max : 0x200000004e+240
+double_max / long_min : 0xe0000000000001e+235
+double_max / int_max : 0x200000004e+240
+double_max / int_min : 0xe0000000000001e+235
+double_max / uint_max : 0x100000001e+240
+double_max / ulong_max : 0x100000001e+240
+double_max / double_min : Inf
+double_max / double_max : 0x1
+double_max / float_min : Inf
+double_max / float_max : 0x1000001000001e+212
+double_max * zero_min : 0x0
+double_max * zero_plus : 0x0
+double_max * zero : 0x0
+double_max * NaN : NaN
+double_max * Inf_plus : Inf
+double_max * Inf_min : -Inf
+double_max * Inf : Inf
+double_max * long_max : Inf
+double_max * long_min : -Inf
+double_max * int_max : Inf
+double_max * int_min : -Inf
+double_max * uint_max : Inf
+double_max * ulong_max : Inf
+double_max * double_min : 0x3.ffffffffffffe
+double_max * double_max : Inf
+double_max * float_min : 0x3ffffffffffffee+211
+double_max * float_max : Inf
+double_max + zero_min : 0x0fffffffffffff8e+242
+double_max + zero_plus : 0x0fffffffffffff8e+242
+double_max + zero : 0x0fffffffffffff8e+242
+double_max + NaN : NaN
+double_max + Inf_plus : Inf
+double_max + Inf_min : -Inf
+double_max + Inf : Inf
+double_max + long_max : 0x0fffffffffffff8e+242
+double_max + long_min : 0x0fffffffffffff8e+242
+double_max + int_max : 0x0fffffffffffff8e+242
+double_max + int_min : 0x0fffffffffffff8e+242
+double_max + uint_max : 0x0fffffffffffff8e+242
+double_max + ulong_max : 0x0fffffffffffff8e+242
+double_max + double_min : 0x0fffffffffffff8e+242
+double_max + double_max : Inf
+double_max + float_min : 0x0fffffffffffff8e+242
+double_max + float_max : 0x0fffffffffffff8e+242
+double_max - zero_min : 0x0fffffffffffff8e+242
+double_max - zero_plus : 0x0fffffffffffff8e+242
+double_max - zero : 0x0fffffffffffff8e+242
+double_max - NaN : NaN
+double_max - Inf_plus : -Inf
+double_max - Inf_min : Inf
+double_max - Inf : -Inf
+double_max - long_max : 0x0fffffffffffff8e+242
+double_max - long_min : 0x0fffffffffffff8e+242
+double_max - int_max : 0x0fffffffffffff8e+242
+double_max - int_min : 0x0fffffffffffff8e+242
+double_max - uint_max : 0x0fffffffffffff8e+242
+double_max - ulong_max : 0x0fffffffffffff8e+242
+double_max - double_min : 0x0fffffffffffff8e+242
+double_max - double_max : 0x0
+double_max - float_min : 0x0fffffffffffff8e+242
+double_max - float_max : 0x0fffffffffffff8e+242
+double_max > zero_min : 0x1
+double_max > zero_plus : 0x1
+double_max > zero : 0x1
+double_max > NaN : 0x0
+double_max > Inf_plus : 0x0
+double_max > Inf_min : 0x1
+double_max > Inf : 0x0
+double_max > long_max : 0x1
+double_max > long_min : 0x1
+double_max > int_max : 0x1
+double_max > int_min : 0x1
+double_max > uint_max : 0x1
+double_max > ulong_max : 0x1
+double_max > double_min : 0x1
+double_max > double_max : 0x0
+double_max > float_min : 0x1
+double_max > float_max : 0x1
+double_max < zero_min : 0x0
+double_max < zero_plus : 0x0
+double_max < zero : 0x0
+double_max < NaN : 0x0
+double_max < Inf_plus : 0x1
+double_max < Inf_min : 0x0
+double_max < Inf : 0x1
+double_max < long_max : 0x0
+double_max < long_min : 0x0
+double_max < int_max : 0x0
+double_max < int_min : 0x0
+double_max < uint_max : 0x0
+double_max < ulong_max : 0x0
+double_max < double_min : 0x0
+double_max < double_max : 0x0
+double_max < float_min : 0x0
+double_max < float_max : 0x0
+double_max >= zero_min : 0x1
+double_max >= zero_plus : 0x1
+double_max >= zero : 0x1
+double_max >= NaN : 0x0
+double_max >= Inf_plus : 0x0
+double_max >= Inf_min : 0x1
+double_max >= Inf : 0x0
+double_max >= long_max : 0x1
+double_max >= long_min : 0x1
+double_max >= int_max : 0x1
+double_max >= int_min : 0x1
+double_max >= uint_max : 0x1
+double_max >= ulong_max : 0x1
+double_max >= double_min : 0x1
+double_max >= double_max : 0x1
+double_max >= float_min : 0x1
+double_max >= float_max : 0x1
+double_max <= zero_min : 0x0
+double_max <= zero_plus : 0x0
+double_max <= zero : 0x0
+double_max <= NaN : 0x0
+double_max <= Inf_plus : 0x1
+double_max <= Inf_min : 0x0
+double_max <= Inf : 0x1
+double_max <= long_max : 0x0
+double_max <= long_min : 0x0
+double_max <= int_max : 0x0
+double_max <= int_min : 0x0
+double_max <= uint_max : 0x0
+double_max <= ulong_max : 0x0
+double_max <= double_min : 0x0
+double_max <= double_max : 0x1
+double_max <= float_min : 0x0
+double_max <= float_max : 0x0
+double_max == zero_min : 0x0
+double_max == zero_plus : 0x0
+double_max == zero : 0x0
+double_max == NaN : 0x0
+double_max == Inf_plus : 0x0
+double_max == Inf_min : 0x0
+double_max == Inf : 0x0
+double_max == long_max : 0x0
+double_max == long_min : 0x0
+double_max == int_max : 0x0
+double_max == int_min : 0x0
+double_max == uint_max : 0x0
+double_max == ulong_max : 0x0
+double_max == double_min : 0x0
+double_max == double_max : 0x1
+double_max == float_min : 0x0
+double_max == float_max : 0x0
+double_max != zero_min : 0x1
+double_max != zero_plus : 0x1
+double_max != zero : 0x1
+double_max != NaN : 0x1
+double_max != Inf_plus : 0x1
+double_max != Inf_min : 0x1
+double_max != Inf : 0x1
+double_max != long_max : 0x1
+double_max != long_min : 0x1
+double_max != int_max : 0x1
+double_max != int_min : 0x1
+double_max != uint_max : 0x1
+double_max != ulong_max : 0x1
+double_max != double_min : 0x1
+double_max != double_max : 0x0
+double_max != float_min : 0x1
+double_max != float_max : 0x1
+double_max * double_max * zero_min : NaN
+double_max * double_max * zero_plus : NaN
+double_max * double_max * zero : NaN
+double_max * double_max * NaN : NaN
+double_max * double_max * Inf_plus : Inf
+double_max * double_max * Inf_min : -Inf
+double_max * double_max * Inf : Inf
+double_max * double_max * long_max : Inf
+double_max * double_max * long_min : -Inf
+double_max * double_max * int_max : Inf
+double_max * double_max * int_min : -Inf
+double_max * double_max * uint_max : Inf
+double_max * double_max * ulong_max : Inf
+double_max * double_max * double_min : Inf
+double_max * double_max * double_max : Inf
+double_max * double_max * float_min : Inf
+double_max * double_max * float_max : Inf
+float_min / zero_min : -Inf
+float_min / zero_plus : Inf
+float_min / zero : Inf
+float_min / NaN : NaN
+float_min / Inf_plus : 0x0
+float_min / Inf_min : 0x0
+float_min / Inf : 0x0
+float_min / long_max : 0x.080000001e-38
+float_min / long_min : 0x.8e-39
+float_min / int_max : 0x.080000001e-38
+float_min / int_min : 0x.8e-39
+float_min / uint_max : 0x.400000004e-39
+float_min / ulong_max : 0x.400000004e-39
+float_min / double_min : 0x1e+224
+float_min / double_max : 0x0
+float_min / float_min : 0x1
+float_min / float_max : 0x.4000004000004e-63
+float_min * zero_min : 0x0
+float_min * zero_plus : 0x0
+float_min * zero : 0x0
+float_min * NaN : NaN
+float_min * Inf_plus : Inf
+float_min * Inf_min : -Inf
+float_min * Inf : Inf
+float_min * long_max : 0x.1fffffffce-23
+float_min * long_min : 0x.ee-23
+float_min * int_max : 0x.1fffffffce-23
+float_min * int_min : 0x.ee-23
+float_min * uint_max : 0x.3fffffffce-23
+float_min * ulong_max : 0x.3fffffffce-23
+float_min * double_min : 0x0
+float_min * double_max : 0x3ffffffffffffee+211
+float_min * float_min : 0x.1e-62
+float_min * float_max : 0x3.fffffc
+float_min + zero_min : 0x.4e-31
+float_min + zero_plus : 0x.4e-31
+float_min + zero : 0x.4e-31
+float_min + NaN : NaN
+float_min + Inf_plus : Inf
+float_min + Inf_min : -Inf
+float_min + Inf : Inf
+float_min + long_max : 0x7fffffff
+float_min + long_min : 0x8e+7
+float_min + int_max : 0x7fffffff
+float_min + int_min : 0x8e+7
+float_min + uint_max : 0x0ffffffff
+float_min + ulong_max : 0x0ffffffff
+float_min + double_min : 0x.4e-31
+float_min + double_max : 0x0fffffffffffff8e+242
+float_min + float_min : 0x.08e-30
+float_min + float_max : 0x0ffffffe+26
+float_min - zero_min : 0x.4e-31
+float_min - zero_plus : 0x.4e-31
+float_min - zero : 0x.4e-31
+float_min - NaN : NaN
+float_min - Inf_plus : -Inf
+float_min - Inf_min : Inf
+float_min - Inf : -Inf
+float_min - long_max : 0x80000001
+float_min - long_min : 0x08e+7
+float_min - int_max : 0x80000001
+float_min - int_min : 0x08e+7
+float_min - uint_max : 0xf00000001
+float_min - ulong_max : 0xf00000001
+float_min - double_min : 0x.4e-31
+float_min - double_max : 0xf00000000000008e+242
+float_min - float_min : 0x0
+float_min - float_max : 0xf000001e+26
+float_min > zero_min : 0x1
+float_min > zero_plus : 0x1
+float_min > zero : 0x1
+float_min > NaN : 0x0
+float_min > Inf_plus : 0x0
+float_min > Inf_min : 0x1
+float_min > Inf : 0x0
+float_min > long_max : 0x0
+float_min > long_min : 0x1
+float_min > int_max : 0x0
+float_min > int_min : 0x1
+float_min > uint_max : 0x0
+float_min > ulong_max : 0x0
+float_min > double_min : 0x1
+float_min > double_max : 0x0
+float_min > float_min : 0x0
+float_min > float_max : 0x0
+float_min < zero_min : 0x0
+float_min < zero_plus : 0x0
+float_min < zero : 0x0
+float_min < NaN : 0x0
+float_min < Inf_plus : 0x1
+float_min < Inf_min : 0x0
+float_min < Inf : 0x1
+float_min < long_max : 0x1
+float_min < long_min : 0x0
+float_min < int_max : 0x1
+float_min < int_min : 0x0
+float_min < uint_max : 0x1
+float_min < ulong_max : 0x1
+float_min < double_min : 0x0
+float_min < double_max : 0x1
+float_min < float_min : 0x0
+float_min < float_max : 0x1
+float_min >= zero_min : 0x1
+float_min >= zero_plus : 0x1
+float_min >= zero : 0x1
+float_min >= NaN : 0x0
+float_min >= Inf_plus : 0x0
+float_min >= Inf_min : 0x1
+float_min >= Inf : 0x0
+float_min >= long_max : 0x0
+float_min >= long_min : 0x1
+float_min >= int_max : 0x0
+float_min >= int_min : 0x1
+float_min >= uint_max : 0x0
+float_min >= ulong_max : 0x0
+float_min >= double_min : 0x1
+float_min >= double_max : 0x0
+float_min >= float_min : 0x1
+float_min >= float_max : 0x0
+float_min <= zero_min : 0x0
+float_min <= zero_plus : 0x0
+float_min <= zero : 0x0
+float_min <= NaN : 0x0
+float_min <= Inf_plus : 0x1
+float_min <= Inf_min : 0x0
+float_min <= Inf : 0x1
+float_min <= long_max : 0x1
+float_min <= long_min : 0x0
+float_min <= int_max : 0x1
+float_min <= int_min : 0x0
+float_min <= uint_max : 0x1
+float_min <= ulong_max : 0x1
+float_min <= double_min : 0x0
+float_min <= double_max : 0x1
+float_min <= float_min : 0x1
+float_min <= float_max : 0x1
+float_min == zero_min : 0x0
+float_min == zero_plus : 0x0
+float_min == zero : 0x0
+float_min == NaN : 0x0
+float_min == Inf_plus : 0x0
+float_min == Inf_min : 0x0
+float_min == Inf : 0x0
+float_min == long_max : 0x0
+float_min == long_min : 0x0
+float_min == int_max : 0x0
+float_min == int_min : 0x0
+float_min == uint_max : 0x0
+float_min == ulong_max : 0x0
+float_min == double_min : 0x0
+float_min == double_max : 0x0
+float_min == float_min : 0x1
+float_min == float_max : 0x0
+float_min != zero_min : 0x1
+float_min != zero_plus : 0x1
+float_min != zero : 0x1
+float_min != NaN : 0x1
+float_min != Inf_plus : 0x1
+float_min != Inf_min : 0x1
+float_min != Inf : 0x1
+float_min != long_max : 0x1
+float_min != long_min : 0x1
+float_min != int_max : 0x1
+float_min != int_min : 0x1
+float_min != uint_max : 0x1
+float_min != ulong_max : 0x1
+float_min != double_min : 0x1
+float_min != double_max : 0x1
+float_min != float_min : 0x0
+float_min != float_max : 0x1
+float_min * float_min * zero_min : 0x0
+float_min * float_min * zero_plus : 0x0
+float_min * float_min * zero : 0x0
+float_min * float_min * NaN : NaN
+float_min * float_min * Inf_plus : Inf
+float_min * float_min * Inf_min : -Inf
+float_min * float_min * Inf : Inf
+float_min * float_min * long_max : 0x.7fffffffe-55
+float_min * float_min * long_min : 0x.8e-55
+float_min * float_min * int_max : 0x.7fffffffe-55
+float_min * float_min * int_min : 0x.8e-55
+float_min * float_min * uint_max : 0x.0ffffffffe-54
+float_min * float_min * ulong_max : 0x.0ffffffffe-54
+float_min * float_min * double_min : 0x0
+float_min * float_min * double_max : 0x0fffffffffffff8e+179
+float_min * float_min * float_min : 0x.4e-94
+float_min * float_min * float_max : 0x.0ffffffe-30
+float_max / zero_min : -Inf
+float_max / zero_plus : Inf
+float_max / zero : Inf
+float_max / NaN : NaN
+float_max / Inf_plus : 0x0
+float_max / Inf_min : 0x0
+float_max / Inf : 0x0
+float_max / long_max : 0x1fffffe04e+16
+float_max / long_min : 0xe000002e+18
+float_max / int_max : 0x1fffffe04e+16
+float_max / int_min : 0xe000002e+18
+float_max / uint_max : 0x0ffffff01e+16
+float_max / ulong_max : 0x0ffffff01e+16
+float_max / double_min : Inf
+float_max / double_max : 0x.0ffffff00000008e-223
+float_max / float_min : 0x3fffffce+57
+float_max / float_max : 0x1
+float_max * zero_min : 0x0
+float_max * zero_plus : 0x0
+float_max * zero : 0x0
+float_max * NaN : NaN
+float_max * Inf_plus : Inf
+float_max * Inf_min : -Inf
+float_max * Inf : Inf
+float_max * long_max : 0x7fffff7fe+32
+float_max * long_min : 0x8000008e+33
+float_max * int_max : 0x7fffff7fe+32
+float_max * int_min : 0x8000008e+33
+float_max * uint_max : 0x0fffffeffe+32
+float_max * ulong_max : 0x0fffffeffe+32
+float_max * double_min : 0x.3fffffce-223
+float_max * double_max : Inf
+float_max * float_min : 0x3.fffffc
+float_max * float_max : 0x0fffffe000001e+52
+float_max + zero_min : 0x0ffffffe+26
+float_max + zero_plus : 0x0ffffffe+26
+float_max + zero : 0x0ffffffe+26
+float_max + NaN : NaN
+float_max + Inf_plus : Inf
+float_max + Inf_min : -Inf
+float_max + Inf : Inf
+float_max + long_max : 0x0ffffffe+26
+float_max + long_min : 0x0ffffffe+26
+float_max + int_max : 0x0ffffffe+26
+float_max + int_min : 0x0ffffffe+26
+float_max + uint_max : 0x0ffffffe+26
+float_max + ulong_max : 0x0ffffffe+26
+float_max + double_min : 0x0ffffffe+26
+float_max + double_max : 0x0fffffffffffff8e+242
+float_max + float_min : 0x0ffffffe+26
+float_max + float_max : 0x1fffffee+26
+float_max - zero_min : 0x0ffffffe+26
+float_max - zero_plus : 0x0ffffffe+26
+float_max - zero : 0x0ffffffe+26
+float_max - NaN : NaN
+float_max - Inf_plus : -Inf
+float_max - Inf_min : Inf
+float_max - Inf : -Inf
+float_max - long_max : 0x0ffffffe+26
+float_max - long_min : 0x0ffffffe+26
+float_max - int_max : 0x0ffffffe+26
+float_max - int_min : 0x0ffffffe+26
+float_max - uint_max : 0x0ffffffe+26
+float_max - ulong_max : 0x0ffffffe+26
+float_max - double_min : 0x0ffffffe+26
+float_max - double_max : 0xf00000000000008e+242
+float_max - float_min : 0x0ffffffe+26
+float_max - float_max : 0x0
+float_max > zero_min : 0x1
+float_max > zero_plus : 0x1
+float_max > zero : 0x1
+float_max > NaN : 0x0
+float_max > Inf_plus : 0x0
+float_max > Inf_min : 0x1
+float_max > Inf : 0x0
+float_max > long_max : 0x1
+float_max > long_min : 0x1
+float_max > int_max : 0x1
+float_max > int_min : 0x1
+float_max > uint_max : 0x1
+float_max > ulong_max : 0x1
+float_max > double_min : 0x1
+float_max > double_max : 0x0
+float_max > float_min : 0x1
+float_max > float_max : 0x0
+float_max < zero_min : 0x0
+float_max < zero_plus : 0x0
+float_max < zero : 0x0
+float_max < NaN : 0x0
+float_max < Inf_plus : 0x1
+float_max < Inf_min : 0x0
+float_max < Inf : 0x1
+float_max < long_max : 0x0
+float_max < long_min : 0x0
+float_max < int_max : 0x0
+float_max < int_min : 0x0
+float_max < uint_max : 0x0
+float_max < ulong_max : 0x0
+float_max < double_min : 0x0
+float_max < double_max : 0x1
+float_max < float_min : 0x0
+float_max < float_max : 0x0
+float_max >= zero_min : 0x1
+float_max >= zero_plus : 0x1
+float_max >= zero : 0x1
+float_max >= NaN : 0x0
+float_max >= Inf_plus : 0x0
+float_max >= Inf_min : 0x1
+float_max >= Inf : 0x0
+float_max >= long_max : 0x1
+float_max >= long_min : 0x1
+float_max >= int_max : 0x1
+float_max >= int_min : 0x1
+float_max >= uint_max : 0x1
+float_max >= ulong_max : 0x1
+float_max >= double_min : 0x1
+float_max >= double_max : 0x0
+float_max >= float_min : 0x1
+float_max >= float_max : 0x1
+float_max <= zero_min : 0x0
+float_max <= zero_plus : 0x0
+float_max <= zero : 0x0
+float_max <= NaN : 0x0
+float_max <= Inf_plus : 0x1
+float_max <= Inf_min : 0x0
+float_max <= Inf : 0x1
+float_max <= long_max : 0x0
+float_max <= long_min : 0x0
+float_max <= int_max : 0x0
+float_max <= int_min : 0x0
+float_max <= uint_max : 0x0
+float_max <= ulong_max : 0x0
+float_max <= double_min : 0x0
+float_max <= double_max : 0x1
+float_max <= float_min : 0x0
+float_max <= float_max : 0x1
+float_max == zero_min : 0x0
+float_max == zero_plus : 0x0
+float_max == zero : 0x0
+float_max == NaN : 0x0
+float_max == Inf_plus : 0x0
+float_max == Inf_min : 0x0
+float_max == Inf : 0x0
+float_max == long_max : 0x0
+float_max == long_min : 0x0
+float_max == int_max : 0x0
+float_max == int_min : 0x0
+float_max == uint_max : 0x0
+float_max == ulong_max : 0x0
+float_max == double_min : 0x0
+float_max == double_max : 0x0
+float_max == float_min : 0x0
+float_max == float_max : 0x1
+float_max != zero_min : 0x1
+float_max != zero_plus : 0x1
+float_max != zero : 0x1
+float_max != NaN : 0x1
+float_max != Inf_plus : 0x1
+float_max != Inf_min : 0x1
+float_max != Inf : 0x1
+float_max != long_max : 0x1
+float_max != long_min : 0x1
+float_max != int_max : 0x1
+float_max != int_min : 0x1
+float_max != uint_max : 0x1
+float_max != ulong_max : 0x1
+float_max != double_min : 0x1
+float_max != double_max : 0x1
+float_max != float_min : 0x1
+float_max != float_max : 0x0
+float_max * float_max * zero_min : 0x0
+float_max * float_max * zero_plus : 0x0
+float_max * float_max * zero : 0x0
+float_max * float_max * NaN : NaN
+float_max * float_max * Inf_plus : Inf
+float_max * float_max * Inf_min : -Inf
+float_max * float_max * Inf : Inf
+float_max * float_max * long_max : 0x7ffffeff00008e+59
+float_max * float_max * long_min : 0x800000ffffff8e+59
+float_max * float_max * int_max : 0x7ffffeff00008e+59
+float_max * float_max * int_min : 0x800000ffffff8e+59
+float_max * float_max * uint_max : 0x0fffffdff0001e+60
+float_max * float_max * ulong_max : 0x0fffffdff0001e+60
+float_max * float_max * double_min : 0x.3fffff8000004e-191
+float_max * float_max * double_max : Inf
+float_max * float_max * float_min : 0x3fffff8000004e+20
+float_max * float_max * float_max : 0x0fffffd000003e+84
+double_min / NaN : NaN
+****************** limits fx_ufix
+****************** limits fx_ufix_zero
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x07fffffff
+long_min : 0x080000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_Inf
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x07fffffff
+long_min : 0x080000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_long
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x07fffffff
+long_min : 0x080000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_double
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x07fffffff
+long_min : 0x080000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_fix
+****************** limits fx_fix_zero
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x7fffffff
+long_min : 0x80000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0xffffffff
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_Inf
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x7fffffff
+long_min : 0x80000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0xffffffff
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_long
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x7fffffff
+long_min : 0x80000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0xffffffff
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_double
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x7fffffff
+long_min : 0x80000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0xffffffff
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fixed<8, 5>
+****************** limits fx_fixed<8, 5>_zero
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0xff.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0xff.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_Inf
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0xff.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0xff.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_long
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0xff.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0xff.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_double
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0xff.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0xff.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>
+****************** limits fx_ufixed<8, 5>_zero
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x1f.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x1f.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_Inf
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x1f.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x1f.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_long
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x1f.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x1f.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_double
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x1f.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x1f.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.linux64 b/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.linux64
new file mode 100644
index 000000000..ab2c16dd6
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.linux64
@@ -0,0 +1,3482 @@
+SystemC Simulation
+****************** limits fx_float_zero
+****************** limits fx_float_inf
+****************** limits fx_float
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x08e+15
+long_min : 0x8e+15
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x1e+16
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+zero_min / zero_min : NaN
+zero_min / zero_plus : NaN
+zero_min / zero : NaN
+zero_min / NaN : NaN
+zero_min / Inf_plus : 0x0
+zero_min / Inf_min : 0x0
+zero_min / Inf : 0x0
+zero_min / long_max : 0x0
+zero_min / long_min : 0x0
+zero_min / int_max : 0x0
+zero_min / int_min : 0x0
+zero_min / uint_max : 0x0
+zero_min / ulong_max : 0x0
+zero_min / double_min : 0x0
+zero_min / double_max : 0x0
+zero_min / float_min : 0x0
+zero_min / float_max : 0x0
+zero_min * zero_min : 0x0
+zero_min * zero_plus : 0x0
+zero_min * zero : 0x0
+zero_min * NaN : NaN
+zero_min * Inf_plus : NaN
+zero_min * Inf_min : NaN
+zero_min * Inf : NaN
+zero_min * long_max : 0x0
+zero_min * long_min : 0x0
+zero_min * int_max : 0x0
+zero_min * int_min : 0x0
+zero_min * uint_max : 0x0
+zero_min * ulong_max : 0x0
+zero_min * double_min : 0x0
+zero_min * double_max : 0x0
+zero_min * float_min : 0x0
+zero_min * float_max : 0x0
+zero_min + zero_min : 0x0
+zero_min + zero_plus : 0x0
+zero_min + zero : 0x0
+zero_min + NaN : NaN
+zero_min + Inf_plus : Inf
+zero_min + Inf_min : -Inf
+zero_min + Inf : Inf
+zero_min + long_max : 0x08e+15
+zero_min + long_min : 0x8e+15
+zero_min + int_max : 0x7fffffff
+zero_min + int_min : 0x8e+7
+zero_min + uint_max : 0x0ffffffff
+zero_min + ulong_max : 0x1e+16
+zero_min + double_min : 0x.4e-255
+zero_min + double_max : 0x0fffffffffffff8e+242
+zero_min + float_min : 0x.4e-31
+zero_min + float_max : 0x0ffffffe+26
+zero_min - zero_min : 0x0
+zero_min - zero_plus : 0x0
+zero_min - zero : 0x0
+zero_min - NaN : NaN
+zero_min - Inf_plus : -Inf
+zero_min - Inf_min : Inf
+zero_min - Inf : -Inf
+zero_min - long_max : 0x8e+15
+zero_min - long_min : 0x08e+15
+zero_min - int_max : 0x80000001
+zero_min - int_min : 0x08e+7
+zero_min - uint_max : 0xf00000001
+zero_min - ulong_max : 0xfe+16
+zero_min - double_min : 0x.ce-255
+zero_min - double_max : 0xf00000000000008e+242
+zero_min - float_min : 0x.ce-31
+zero_min - float_max : 0xf000001e+26
+zero_min > zero_min : 0x0
+zero_min > zero_plus : 0x0
+zero_min > zero : 0x0
+zero_min > NaN : 0x0
+zero_min > Inf_plus : 0x0
+zero_min > Inf_min : 0x1
+zero_min > Inf : 0x0
+zero_min > long_max : 0x0
+zero_min > long_min : 0x1
+zero_min > int_max : 0x0
+zero_min > int_min : 0x1
+zero_min > uint_max : 0x0
+zero_min > ulong_max : 0x0
+zero_min > double_min : 0x0
+zero_min > double_max : 0x0
+zero_min > float_min : 0x0
+zero_min > float_max : 0x0
+zero_min < zero_min : 0x0
+zero_min < zero_plus : 0x0
+zero_min < zero : 0x0
+zero_min < NaN : 0x0
+zero_min < Inf_plus : 0x1
+zero_min < Inf_min : 0x0
+zero_min < Inf : 0x1
+zero_min < long_max : 0x1
+zero_min < long_min : 0x0
+zero_min < int_max : 0x1
+zero_min < int_min : 0x0
+zero_min < uint_max : 0x1
+zero_min < ulong_max : 0x1
+zero_min < double_min : 0x1
+zero_min < double_max : 0x1
+zero_min < float_min : 0x1
+zero_min < float_max : 0x1
+zero_min >= zero_min : 0x1
+zero_min >= zero_plus : 0x1
+zero_min >= zero : 0x1
+zero_min >= NaN : 0x0
+zero_min >= Inf_plus : 0x0
+zero_min >= Inf_min : 0x1
+zero_min >= Inf : 0x0
+zero_min >= long_max : 0x0
+zero_min >= long_min : 0x1
+zero_min >= int_max : 0x0
+zero_min >= int_min : 0x1
+zero_min >= uint_max : 0x0
+zero_min >= ulong_max : 0x0
+zero_min >= double_min : 0x0
+zero_min >= double_max : 0x0
+zero_min >= float_min : 0x0
+zero_min >= float_max : 0x0
+zero_min <= zero_min : 0x1
+zero_min <= zero_plus : 0x1
+zero_min <= zero : 0x1
+zero_min <= NaN : 0x0
+zero_min <= Inf_plus : 0x1
+zero_min <= Inf_min : 0x0
+zero_min <= Inf : 0x1
+zero_min <= long_max : 0x1
+zero_min <= long_min : 0x0
+zero_min <= int_max : 0x1
+zero_min <= int_min : 0x0
+zero_min <= uint_max : 0x1
+zero_min <= ulong_max : 0x1
+zero_min <= double_min : 0x1
+zero_min <= double_max : 0x1
+zero_min <= float_min : 0x1
+zero_min <= float_max : 0x1
+zero_min == zero_min : 0x1
+zero_min == zero_plus : 0x1
+zero_min == zero : 0x1
+zero_min == NaN : 0x0
+zero_min == Inf_plus : 0x0
+zero_min == Inf_min : 0x0
+zero_min == Inf : 0x0
+zero_min == long_max : 0x0
+zero_min == long_min : 0x0
+zero_min == int_max : 0x0
+zero_min == int_min : 0x0
+zero_min == uint_max : 0x0
+zero_min == ulong_max : 0x0
+zero_min == double_min : 0x0
+zero_min == double_max : 0x0
+zero_min == float_min : 0x0
+zero_min == float_max : 0x0
+zero_min != zero_min : 0x0
+zero_min != zero_plus : 0x0
+zero_min != zero : 0x0
+zero_min != NaN : 0x1
+zero_min != Inf_plus : 0x1
+zero_min != Inf_min : 0x1
+zero_min != Inf : 0x1
+zero_min != long_max : 0x1
+zero_min != long_min : 0x1
+zero_min != int_max : 0x1
+zero_min != int_min : 0x1
+zero_min != uint_max : 0x1
+zero_min != ulong_max : 0x1
+zero_min != double_min : 0x1
+zero_min != double_max : 0x1
+zero_min != float_min : 0x1
+zero_min != float_max : 0x1
+zero_min * zero_min * zero_min : 0x0
+zero_min * zero_min * zero_plus : 0x0
+zero_min * zero_min * zero : 0x0
+zero_min * zero_min * NaN : NaN
+zero_min * zero_min * Inf_plus : NaN
+zero_min * zero_min * Inf_min : NaN
+zero_min * zero_min * Inf : NaN
+zero_min * zero_min * long_max : 0x0
+zero_min * zero_min * long_min : 0x0
+zero_min * zero_min * int_max : 0x0
+zero_min * zero_min * int_min : 0x0
+zero_min * zero_min * uint_max : 0x0
+zero_min * zero_min * ulong_max : 0x0
+zero_min * zero_min * double_min : 0x0
+zero_min * zero_min * double_max : 0x0
+zero_min * zero_min * float_min : 0x0
+zero_min * zero_min * float_max : 0x0
+zero_plus / zero_min : NaN
+zero_plus / zero_plus : NaN
+zero_plus / zero : NaN
+zero_plus / NaN : NaN
+zero_plus / Inf_plus : 0x0
+zero_plus / Inf_min : 0x0
+zero_plus / Inf : 0x0
+zero_plus / long_max : 0x0
+zero_plus / long_min : 0x0
+zero_plus / int_max : 0x0
+zero_plus / int_min : 0x0
+zero_plus / uint_max : 0x0
+zero_plus / ulong_max : 0x0
+zero_plus / double_min : 0x0
+zero_plus / double_max : 0x0
+zero_plus / float_min : 0x0
+zero_plus / float_max : 0x0
+zero_plus * zero_min : 0x0
+zero_plus * zero_plus : 0x0
+zero_plus * zero : 0x0
+zero_plus * NaN : NaN
+zero_plus * Inf_plus : NaN
+zero_plus * Inf_min : NaN
+zero_plus * Inf : NaN
+zero_plus * long_max : 0x0
+zero_plus * long_min : 0x0
+zero_plus * int_max : 0x0
+zero_plus * int_min : 0x0
+zero_plus * uint_max : 0x0
+zero_plus * ulong_max : 0x0
+zero_plus * double_min : 0x0
+zero_plus * double_max : 0x0
+zero_plus * float_min : 0x0
+zero_plus * float_max : 0x0
+zero_plus + zero_min : 0x0
+zero_plus + zero_plus : 0x0
+zero_plus + zero : 0x0
+zero_plus + NaN : NaN
+zero_plus + Inf_plus : Inf
+zero_plus + Inf_min : -Inf
+zero_plus + Inf : Inf
+zero_plus + long_max : 0x08e+15
+zero_plus + long_min : 0x8e+15
+zero_plus + int_max : 0x7fffffff
+zero_plus + int_min : 0x8e+7
+zero_plus + uint_max : 0x0ffffffff
+zero_plus + ulong_max : 0x1e+16
+zero_plus + double_min : 0x.4e-255
+zero_plus + double_max : 0x0fffffffffffff8e+242
+zero_plus + float_min : 0x.4e-31
+zero_plus + float_max : 0x0ffffffe+26
+zero_plus - zero_min : 0x0
+zero_plus - zero_plus : 0x0
+zero_plus - zero : 0x0
+zero_plus - NaN : NaN
+zero_plus - Inf_plus : -Inf
+zero_plus - Inf_min : Inf
+zero_plus - Inf : -Inf
+zero_plus - long_max : 0x8e+15
+zero_plus - long_min : 0x08e+15
+zero_plus - int_max : 0x80000001
+zero_plus - int_min : 0x08e+7
+zero_plus - uint_max : 0xf00000001
+zero_plus - ulong_max : 0xfe+16
+zero_plus - double_min : 0x.ce-255
+zero_plus - double_max : 0xf00000000000008e+242
+zero_plus - float_min : 0x.ce-31
+zero_plus - float_max : 0xf000001e+26
+zero_plus > zero_min : 0x0
+zero_plus > zero_plus : 0x0
+zero_plus > zero : 0x0
+zero_plus > NaN : 0x0
+zero_plus > Inf_plus : 0x0
+zero_plus > Inf_min : 0x1
+zero_plus > Inf : 0x0
+zero_plus > long_max : 0x0
+zero_plus > long_min : 0x1
+zero_plus > int_max : 0x0
+zero_plus > int_min : 0x1
+zero_plus > uint_max : 0x0
+zero_plus > ulong_max : 0x0
+zero_plus > double_min : 0x0
+zero_plus > double_max : 0x0
+zero_plus > float_min : 0x0
+zero_plus > float_max : 0x0
+zero_plus < zero_min : 0x0
+zero_plus < zero_plus : 0x0
+zero_plus < zero : 0x0
+zero_plus < NaN : 0x0
+zero_plus < Inf_plus : 0x1
+zero_plus < Inf_min : 0x0
+zero_plus < Inf : 0x1
+zero_plus < long_max : 0x1
+zero_plus < long_min : 0x0
+zero_plus < int_max : 0x1
+zero_plus < int_min : 0x0
+zero_plus < uint_max : 0x1
+zero_plus < ulong_max : 0x1
+zero_plus < double_min : 0x1
+zero_plus < double_max : 0x1
+zero_plus < float_min : 0x1
+zero_plus < float_max : 0x1
+zero_plus >= zero_min : 0x1
+zero_plus >= zero_plus : 0x1
+zero_plus >= zero : 0x1
+zero_plus >= NaN : 0x0
+zero_plus >= Inf_plus : 0x0
+zero_plus >= Inf_min : 0x1
+zero_plus >= Inf : 0x0
+zero_plus >= long_max : 0x0
+zero_plus >= long_min : 0x1
+zero_plus >= int_max : 0x0
+zero_plus >= int_min : 0x1
+zero_plus >= uint_max : 0x0
+zero_plus >= ulong_max : 0x0
+zero_plus >= double_min : 0x0
+zero_plus >= double_max : 0x0
+zero_plus >= float_min : 0x0
+zero_plus >= float_max : 0x0
+zero_plus <= zero_min : 0x1
+zero_plus <= zero_plus : 0x1
+zero_plus <= zero : 0x1
+zero_plus <= NaN : 0x0
+zero_plus <= Inf_plus : 0x1
+zero_plus <= Inf_min : 0x0
+zero_plus <= Inf : 0x1
+zero_plus <= long_max : 0x1
+zero_plus <= long_min : 0x0
+zero_plus <= int_max : 0x1
+zero_plus <= int_min : 0x0
+zero_plus <= uint_max : 0x1
+zero_plus <= ulong_max : 0x1
+zero_plus <= double_min : 0x1
+zero_plus <= double_max : 0x1
+zero_plus <= float_min : 0x1
+zero_plus <= float_max : 0x1
+zero_plus == zero_min : 0x1
+zero_plus == zero_plus : 0x1
+zero_plus == zero : 0x1
+zero_plus == NaN : 0x0
+zero_plus == Inf_plus : 0x0
+zero_plus == Inf_min : 0x0
+zero_plus == Inf : 0x0
+zero_plus == long_max : 0x0
+zero_plus == long_min : 0x0
+zero_plus == int_max : 0x0
+zero_plus == int_min : 0x0
+zero_plus == uint_max : 0x0
+zero_plus == ulong_max : 0x0
+zero_plus == double_min : 0x0
+zero_plus == double_max : 0x0
+zero_plus == float_min : 0x0
+zero_plus == float_max : 0x0
+zero_plus != zero_min : 0x0
+zero_plus != zero_plus : 0x0
+zero_plus != zero : 0x0
+zero_plus != NaN : 0x1
+zero_plus != Inf_plus : 0x1
+zero_plus != Inf_min : 0x1
+zero_plus != Inf : 0x1
+zero_plus != long_max : 0x1
+zero_plus != long_min : 0x1
+zero_plus != int_max : 0x1
+zero_plus != int_min : 0x1
+zero_plus != uint_max : 0x1
+zero_plus != ulong_max : 0x1
+zero_plus != double_min : 0x1
+zero_plus != double_max : 0x1
+zero_plus != float_min : 0x1
+zero_plus != float_max : 0x1
+zero_plus * zero_plus * zero_min : 0x0
+zero_plus * zero_plus * zero_plus : 0x0
+zero_plus * zero_plus * zero : 0x0
+zero_plus * zero_plus * NaN : NaN
+zero_plus * zero_plus * Inf_plus : NaN
+zero_plus * zero_plus * Inf_min : NaN
+zero_plus * zero_plus * Inf : NaN
+zero_plus * zero_plus * long_max : 0x0
+zero_plus * zero_plus * long_min : 0x0
+zero_plus * zero_plus * int_max : 0x0
+zero_plus * zero_plus * int_min : 0x0
+zero_plus * zero_plus * uint_max : 0x0
+zero_plus * zero_plus * ulong_max : 0x0
+zero_plus * zero_plus * double_min : 0x0
+zero_plus * zero_plus * double_max : 0x0
+zero_plus * zero_plus * float_min : 0x0
+zero_plus * zero_plus * float_max : 0x0
+zero / zero_min : NaN
+zero / zero_plus : NaN
+zero / zero : NaN
+zero / NaN : NaN
+zero / Inf_plus : 0x0
+zero / Inf_min : 0x0
+zero / Inf : 0x0
+zero / long_max : 0x0
+zero / long_min : 0x0
+zero / int_max : 0x0
+zero / int_min : 0x0
+zero / uint_max : 0x0
+zero / ulong_max : 0x0
+zero / double_min : 0x0
+zero / double_max : 0x0
+zero / float_min : 0x0
+zero / float_max : 0x0
+zero * zero_min : 0x0
+zero * zero_plus : 0x0
+zero * zero : 0x0
+zero * NaN : NaN
+zero * Inf_plus : NaN
+zero * Inf_min : NaN
+zero * Inf : NaN
+zero * long_max : 0x0
+zero * long_min : 0x0
+zero * int_max : 0x0
+zero * int_min : 0x0
+zero * uint_max : 0x0
+zero * ulong_max : 0x0
+zero * double_min : 0x0
+zero * double_max : 0x0
+zero * float_min : 0x0
+zero * float_max : 0x0
+zero + zero_min : 0x0
+zero + zero_plus : 0x0
+zero + zero : 0x0
+zero + NaN : NaN
+zero + Inf_plus : Inf
+zero + Inf_min : -Inf
+zero + Inf : Inf
+zero + long_max : 0x08e+15
+zero + long_min : 0x8e+15
+zero + int_max : 0x7fffffff
+zero + int_min : 0x8e+7
+zero + uint_max : 0x0ffffffff
+zero + ulong_max : 0x1e+16
+zero + double_min : 0x.4e-255
+zero + double_max : 0x0fffffffffffff8e+242
+zero + float_min : 0x.4e-31
+zero + float_max : 0x0ffffffe+26
+zero - zero_min : 0x0
+zero - zero_plus : 0x0
+zero - zero : 0x0
+zero - NaN : NaN
+zero - Inf_plus : -Inf
+zero - Inf_min : Inf
+zero - Inf : -Inf
+zero - long_max : 0x8e+15
+zero - long_min : 0x08e+15
+zero - int_max : 0x80000001
+zero - int_min : 0x08e+7
+zero - uint_max : 0xf00000001
+zero - ulong_max : 0xfe+16
+zero - double_min : 0x.ce-255
+zero - double_max : 0xf00000000000008e+242
+zero - float_min : 0x.ce-31
+zero - float_max : 0xf000001e+26
+zero > zero_min : 0x0
+zero > zero_plus : 0x0
+zero > zero : 0x0
+zero > NaN : 0x0
+zero > Inf_plus : 0x0
+zero > Inf_min : 0x1
+zero > Inf : 0x0
+zero > long_max : 0x0
+zero > long_min : 0x1
+zero > int_max : 0x0
+zero > int_min : 0x1
+zero > uint_max : 0x0
+zero > ulong_max : 0x0
+zero > double_min : 0x0
+zero > double_max : 0x0
+zero > float_min : 0x0
+zero > float_max : 0x0
+zero < zero_min : 0x0
+zero < zero_plus : 0x0
+zero < zero : 0x0
+zero < NaN : 0x0
+zero < Inf_plus : 0x1
+zero < Inf_min : 0x0
+zero < Inf : 0x1
+zero < long_max : 0x1
+zero < long_min : 0x0
+zero < int_max : 0x1
+zero < int_min : 0x0
+zero < uint_max : 0x1
+zero < ulong_max : 0x1
+zero < double_min : 0x1
+zero < double_max : 0x1
+zero < float_min : 0x1
+zero < float_max : 0x1
+zero >= zero_min : 0x1
+zero >= zero_plus : 0x1
+zero >= zero : 0x1
+zero >= NaN : 0x0
+zero >= Inf_plus : 0x0
+zero >= Inf_min : 0x1
+zero >= Inf : 0x0
+zero >= long_max : 0x0
+zero >= long_min : 0x1
+zero >= int_max : 0x0
+zero >= int_min : 0x1
+zero >= uint_max : 0x0
+zero >= ulong_max : 0x0
+zero >= double_min : 0x0
+zero >= double_max : 0x0
+zero >= float_min : 0x0
+zero >= float_max : 0x0
+zero <= zero_min : 0x1
+zero <= zero_plus : 0x1
+zero <= zero : 0x1
+zero <= NaN : 0x0
+zero <= Inf_plus : 0x1
+zero <= Inf_min : 0x0
+zero <= Inf : 0x1
+zero <= long_max : 0x1
+zero <= long_min : 0x0
+zero <= int_max : 0x1
+zero <= int_min : 0x0
+zero <= uint_max : 0x1
+zero <= ulong_max : 0x1
+zero <= double_min : 0x1
+zero <= double_max : 0x1
+zero <= float_min : 0x1
+zero <= float_max : 0x1
+zero == zero_min : 0x1
+zero == zero_plus : 0x1
+zero == zero : 0x1
+zero == NaN : 0x0
+zero == Inf_plus : 0x0
+zero == Inf_min : 0x0
+zero == Inf : 0x0
+zero == long_max : 0x0
+zero == long_min : 0x0
+zero == int_max : 0x0
+zero == int_min : 0x0
+zero == uint_max : 0x0
+zero == ulong_max : 0x0
+zero == double_min : 0x0
+zero == double_max : 0x0
+zero == float_min : 0x0
+zero == float_max : 0x0
+zero != zero_min : 0x0
+zero != zero_plus : 0x0
+zero != zero : 0x0
+zero != NaN : 0x1
+zero != Inf_plus : 0x1
+zero != Inf_min : 0x1
+zero != Inf : 0x1
+zero != long_max : 0x1
+zero != long_min : 0x1
+zero != int_max : 0x1
+zero != int_min : 0x1
+zero != uint_max : 0x1
+zero != ulong_max : 0x1
+zero != double_min : 0x1
+zero != double_max : 0x1
+zero != float_min : 0x1
+zero != float_max : 0x1
+zero * zero * zero_min : 0x0
+zero * zero * zero_plus : 0x0
+zero * zero * zero : 0x0
+zero * zero * NaN : NaN
+zero * zero * Inf_plus : NaN
+zero * zero * Inf_min : NaN
+zero * zero * Inf : NaN
+zero * zero * long_max : 0x0
+zero * zero * long_min : 0x0
+zero * zero * int_max : 0x0
+zero * zero * int_min : 0x0
+zero * zero * uint_max : 0x0
+zero * zero * ulong_max : 0x0
+zero * zero * double_min : 0x0
+zero * zero * double_max : 0x0
+zero * zero * float_min : 0x0
+zero * zero * float_max : 0x0
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x08e+15
+long_min : 0x8e+15
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x1e+16
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+NaN / zero_min : NaN
+NaN / zero_plus : NaN
+NaN / zero : NaN
+NaN / NaN : NaN
+NaN / Inf_plus : NaN
+NaN / Inf_min : NaN
+NaN / Inf : NaN
+NaN / long_max : NaN
+NaN / long_min : NaN
+NaN / int_max : NaN
+NaN / int_min : NaN
+NaN / uint_max : NaN
+NaN / ulong_max : NaN
+NaN / double_min : NaN
+NaN / double_max : NaN
+NaN / float_min : NaN
+NaN / float_max : NaN
+NaN * zero_min : NaN
+NaN * zero_plus : NaN
+NaN * zero : NaN
+NaN * NaN : NaN
+NaN * Inf_plus : NaN
+NaN * Inf_min : NaN
+NaN * Inf : NaN
+NaN * long_max : NaN
+NaN * long_min : NaN
+NaN * int_max : NaN
+NaN * int_min : NaN
+NaN * uint_max : NaN
+NaN * ulong_max : NaN
+NaN * double_min : NaN
+NaN * double_max : NaN
+NaN * float_min : NaN
+NaN * float_max : NaN
+NaN + zero_min : NaN
+NaN + zero_plus : NaN
+NaN + zero : NaN
+NaN + NaN : NaN
+NaN + Inf_plus : NaN
+NaN + Inf_min : NaN
+NaN + Inf : NaN
+NaN + long_max : NaN
+NaN + long_min : NaN
+NaN + int_max : NaN
+NaN + int_min : NaN
+NaN + uint_max : NaN
+NaN + ulong_max : NaN
+NaN + double_min : NaN
+NaN + double_max : NaN
+NaN + float_min : NaN
+NaN + float_max : NaN
+NaN - zero_min : NaN
+NaN - zero_plus : NaN
+NaN - zero : NaN
+NaN - NaN : NaN
+NaN - Inf_plus : NaN
+NaN - Inf_min : NaN
+NaN - Inf : NaN
+NaN - long_max : NaN
+NaN - long_min : NaN
+NaN - int_max : NaN
+NaN - int_min : NaN
+NaN - uint_max : NaN
+NaN - ulong_max : NaN
+NaN - double_min : NaN
+NaN - double_max : NaN
+NaN - float_min : NaN
+NaN - float_max : NaN
+NaN > zero_min : 0x0
+NaN > zero_plus : 0x0
+NaN > zero : 0x0
+NaN > NaN : 0x0
+NaN > Inf_plus : 0x0
+NaN > Inf_min : 0x0
+NaN > Inf : 0x0
+NaN > long_max : 0x0
+NaN > long_min : 0x0
+NaN > int_max : 0x0
+NaN > int_min : 0x0
+NaN > uint_max : 0x0
+NaN > ulong_max : 0x0
+NaN > double_min : 0x0
+NaN > double_max : 0x0
+NaN > float_min : 0x0
+NaN > float_max : 0x0
+NaN < zero_min : 0x0
+NaN < zero_plus : 0x0
+NaN < zero : 0x0
+NaN < NaN : 0x0
+NaN < Inf_plus : 0x0
+NaN < Inf_min : 0x0
+NaN < Inf : 0x0
+NaN < long_max : 0x0
+NaN < long_min : 0x0
+NaN < int_max : 0x0
+NaN < int_min : 0x0
+NaN < uint_max : 0x0
+NaN < ulong_max : 0x0
+NaN < double_min : 0x0
+NaN < double_max : 0x0
+NaN < float_min : 0x0
+NaN < float_max : 0x0
+NaN >= zero_min : 0x0
+NaN >= zero_plus : 0x0
+NaN >= zero : 0x0
+NaN >= NaN : 0x0
+NaN >= Inf_plus : 0x0
+NaN >= Inf_min : 0x0
+NaN >= Inf : 0x0
+NaN >= long_max : 0x0
+NaN >= long_min : 0x0
+NaN >= int_max : 0x0
+NaN >= int_min : 0x0
+NaN >= uint_max : 0x0
+NaN >= ulong_max : 0x0
+NaN >= double_min : 0x0
+NaN >= double_max : 0x0
+NaN >= float_min : 0x0
+NaN >= float_max : 0x0
+NaN <= zero_min : 0x0
+NaN <= zero_plus : 0x0
+NaN <= zero : 0x0
+NaN <= NaN : 0x0
+NaN <= Inf_plus : 0x0
+NaN <= Inf_min : 0x0
+NaN <= Inf : 0x0
+NaN <= long_max : 0x0
+NaN <= long_min : 0x0
+NaN <= int_max : 0x0
+NaN <= int_min : 0x0
+NaN <= uint_max : 0x0
+NaN <= ulong_max : 0x0
+NaN <= double_min : 0x0
+NaN <= double_max : 0x0
+NaN <= float_min : 0x0
+NaN <= float_max : 0x0
+NaN == zero_min : 0x0
+NaN == zero_plus : 0x0
+NaN == zero : 0x0
+NaN == NaN : 0x0
+NaN == Inf_plus : 0x0
+NaN == Inf_min : 0x0
+NaN == Inf : 0x0
+NaN == long_max : 0x0
+NaN == long_min : 0x0
+NaN == int_max : 0x0
+NaN == int_min : 0x0
+NaN == uint_max : 0x0
+NaN == ulong_max : 0x0
+NaN == double_min : 0x0
+NaN == double_max : 0x0
+NaN == float_min : 0x0
+NaN == float_max : 0x0
+NaN != zero_min : 0x1
+NaN != zero_plus : 0x1
+NaN != zero : 0x1
+NaN != NaN : 0x1
+NaN != Inf_plus : 0x1
+NaN != Inf_min : 0x1
+NaN != Inf : 0x1
+NaN != long_max : 0x1
+NaN != long_min : 0x1
+NaN != int_max : 0x1
+NaN != int_min : 0x1
+NaN != uint_max : 0x1
+NaN != ulong_max : 0x1
+NaN != double_min : 0x1
+NaN != double_max : 0x1
+NaN != float_min : 0x1
+NaN != float_max : 0x1
+NaN * NaN * zero_min : NaN
+NaN * NaN * zero_plus : NaN
+NaN * NaN * zero : NaN
+NaN * NaN * NaN : NaN
+NaN * NaN * Inf_plus : NaN
+NaN * NaN * Inf_min : NaN
+NaN * NaN * Inf : NaN
+NaN * NaN * long_max : NaN
+NaN * NaN * long_min : NaN
+NaN * NaN * int_max : NaN
+NaN * NaN * int_min : NaN
+NaN * NaN * uint_max : NaN
+NaN * NaN * ulong_max : NaN
+NaN * NaN * double_min : NaN
+NaN * NaN * double_max : NaN
+NaN * NaN * float_min : NaN
+NaN * NaN * float_max : NaN
+Inf_plus / zero_min : -Inf
+Inf_plus / zero_plus : Inf
+Inf_plus / zero : Inf
+Inf_plus / NaN : NaN
+Inf_plus / Inf_plus : NaN
+Inf_plus / Inf_min : NaN
+Inf_plus / Inf : NaN
+Inf_plus / long_max : Inf
+Inf_plus / long_min : -Inf
+Inf_plus / int_max : Inf
+Inf_plus / int_min : -Inf
+Inf_plus / uint_max : Inf
+Inf_plus / ulong_max : Inf
+Inf_plus / double_min : Inf
+Inf_plus / double_max : Inf
+Inf_plus / float_min : Inf
+Inf_plus / float_max : Inf
+Inf_plus * zero_min : NaN
+Inf_plus * zero_plus : NaN
+Inf_plus * zero : NaN
+Inf_plus * NaN : NaN
+Inf_plus * Inf_plus : Inf
+Inf_plus * Inf_min : -Inf
+Inf_plus * Inf : Inf
+Inf_plus * long_max : Inf
+Inf_plus * long_min : -Inf
+Inf_plus * int_max : Inf
+Inf_plus * int_min : -Inf
+Inf_plus * uint_max : Inf
+Inf_plus * ulong_max : Inf
+Inf_plus * double_min : Inf
+Inf_plus * double_max : Inf
+Inf_plus * float_min : Inf
+Inf_plus * float_max : Inf
+Inf_plus + zero_min : Inf
+Inf_plus + zero_plus : Inf
+Inf_plus + zero : Inf
+Inf_plus + NaN : NaN
+Inf_plus + Inf_plus : Inf
+Inf_plus + Inf_min : NaN
+Inf_plus + Inf : Inf
+Inf_plus + long_max : Inf
+Inf_plus + long_min : Inf
+Inf_plus + int_max : Inf
+Inf_plus + int_min : Inf
+Inf_plus + uint_max : Inf
+Inf_plus + ulong_max : Inf
+Inf_plus + double_min : Inf
+Inf_plus + double_max : Inf
+Inf_plus + float_min : Inf
+Inf_plus + float_max : Inf
+Inf_plus - zero_min : Inf
+Inf_plus - zero_plus : Inf
+Inf_plus - zero : Inf
+Inf_plus - NaN : NaN
+Inf_plus - Inf_plus : NaN
+Inf_plus - Inf_min : Inf
+Inf_plus - Inf : NaN
+Inf_plus - long_max : Inf
+Inf_plus - long_min : Inf
+Inf_plus - int_max : Inf
+Inf_plus - int_min : Inf
+Inf_plus - uint_max : Inf
+Inf_plus - ulong_max : Inf
+Inf_plus - double_min : Inf
+Inf_plus - double_max : Inf
+Inf_plus - float_min : Inf
+Inf_plus - float_max : Inf
+Inf_plus > zero_min : 0x1
+Inf_plus > zero_plus : 0x1
+Inf_plus > zero : 0x1
+Inf_plus > NaN : 0x0
+Inf_plus > Inf_plus : 0x0
+Inf_plus > Inf_min : 0x1
+Inf_plus > Inf : 0x0
+Inf_plus > long_max : 0x1
+Inf_plus > long_min : 0x1
+Inf_plus > int_max : 0x1
+Inf_plus > int_min : 0x1
+Inf_plus > uint_max : 0x1
+Inf_plus > ulong_max : 0x1
+Inf_plus > double_min : 0x1
+Inf_plus > double_max : 0x1
+Inf_plus > float_min : 0x1
+Inf_plus > float_max : 0x1
+Inf_plus < zero_min : 0x0
+Inf_plus < zero_plus : 0x0
+Inf_plus < zero : 0x0
+Inf_plus < NaN : 0x0
+Inf_plus < Inf_plus : 0x0
+Inf_plus < Inf_min : 0x0
+Inf_plus < Inf : 0x0
+Inf_plus < long_max : 0x0
+Inf_plus < long_min : 0x0
+Inf_plus < int_max : 0x0
+Inf_plus < int_min : 0x0
+Inf_plus < uint_max : 0x0
+Inf_plus < ulong_max : 0x0
+Inf_plus < double_min : 0x0
+Inf_plus < double_max : 0x0
+Inf_plus < float_min : 0x0
+Inf_plus < float_max : 0x0
+Inf_plus >= zero_min : 0x1
+Inf_plus >= zero_plus : 0x1
+Inf_plus >= zero : 0x1
+Inf_plus >= NaN : 0x0
+Inf_plus >= Inf_plus : 0x1
+Inf_plus >= Inf_min : 0x1
+Inf_plus >= Inf : 0x1
+Inf_plus >= long_max : 0x1
+Inf_plus >= long_min : 0x1
+Inf_plus >= int_max : 0x1
+Inf_plus >= int_min : 0x1
+Inf_plus >= uint_max : 0x1
+Inf_plus >= ulong_max : 0x1
+Inf_plus >= double_min : 0x1
+Inf_plus >= double_max : 0x1
+Inf_plus >= float_min : 0x1
+Inf_plus >= float_max : 0x1
+Inf_plus <= zero_min : 0x0
+Inf_plus <= zero_plus : 0x0
+Inf_plus <= zero : 0x0
+Inf_plus <= NaN : 0x0
+Inf_plus <= Inf_plus : 0x1
+Inf_plus <= Inf_min : 0x0
+Inf_plus <= Inf : 0x1
+Inf_plus <= long_max : 0x0
+Inf_plus <= long_min : 0x0
+Inf_plus <= int_max : 0x0
+Inf_plus <= int_min : 0x0
+Inf_plus <= uint_max : 0x0
+Inf_plus <= ulong_max : 0x0
+Inf_plus <= double_min : 0x0
+Inf_plus <= double_max : 0x0
+Inf_plus <= float_min : 0x0
+Inf_plus <= float_max : 0x0
+Inf_plus == zero_min : 0x0
+Inf_plus == zero_plus : 0x0
+Inf_plus == zero : 0x0
+Inf_plus == NaN : 0x0
+Inf_plus == Inf_plus : 0x1
+Inf_plus == Inf_min : 0x0
+Inf_plus == Inf : 0x1
+Inf_plus == long_max : 0x0
+Inf_plus == long_min : 0x0
+Inf_plus == int_max : 0x0
+Inf_plus == int_min : 0x0
+Inf_plus == uint_max : 0x0
+Inf_plus == ulong_max : 0x0
+Inf_plus == double_min : 0x0
+Inf_plus == double_max : 0x0
+Inf_plus == float_min : 0x0
+Inf_plus == float_max : 0x0
+Inf_plus != zero_min : 0x1
+Inf_plus != zero_plus : 0x1
+Inf_plus != zero : 0x1
+Inf_plus != NaN : 0x1
+Inf_plus != Inf_plus : 0x0
+Inf_plus != Inf_min : 0x1
+Inf_plus != Inf : 0x0
+Inf_plus != long_max : 0x1
+Inf_plus != long_min : 0x1
+Inf_plus != int_max : 0x1
+Inf_plus != int_min : 0x1
+Inf_plus != uint_max : 0x1
+Inf_plus != ulong_max : 0x1
+Inf_plus != double_min : 0x1
+Inf_plus != double_max : 0x1
+Inf_plus != float_min : 0x1
+Inf_plus != float_max : 0x1
+Inf_plus * Inf_plus * zero_min : NaN
+Inf_plus * Inf_plus * zero_plus : NaN
+Inf_plus * Inf_plus * zero : NaN
+Inf_plus * Inf_plus * NaN : NaN
+Inf_plus * Inf_plus * Inf_plus : Inf
+Inf_plus * Inf_plus * Inf_min : -Inf
+Inf_plus * Inf_plus * Inf : Inf
+Inf_plus * Inf_plus * long_max : Inf
+Inf_plus * Inf_plus * long_min : -Inf
+Inf_plus * Inf_plus * int_max : Inf
+Inf_plus * Inf_plus * int_min : -Inf
+Inf_plus * Inf_plus * uint_max : Inf
+Inf_plus * Inf_plus * ulong_max : Inf
+Inf_plus * Inf_plus * double_min : Inf
+Inf_plus * Inf_plus * double_max : Inf
+Inf_plus * Inf_plus * float_min : Inf
+Inf_plus * Inf_plus * float_max : Inf
+Inf_min / zero_min : Inf
+Inf_min / zero_plus : -Inf
+Inf_min / zero : -Inf
+Inf_min / NaN : NaN
+Inf_min / Inf_plus : NaN
+Inf_min / Inf_min : NaN
+Inf_min / Inf : NaN
+Inf_min / long_max : -Inf
+Inf_min / long_min : Inf
+Inf_min / int_max : -Inf
+Inf_min / int_min : Inf
+Inf_min / uint_max : -Inf
+Inf_min / ulong_max : -Inf
+Inf_min / double_min : -Inf
+Inf_min / double_max : -Inf
+Inf_min / float_min : -Inf
+Inf_min / float_max : -Inf
+Inf_min * zero_min : NaN
+Inf_min * zero_plus : NaN
+Inf_min * zero : NaN
+Inf_min * NaN : NaN
+Inf_min * Inf_plus : -Inf
+Inf_min * Inf_min : Inf
+Inf_min * Inf : -Inf
+Inf_min * long_max : -Inf
+Inf_min * long_min : Inf
+Inf_min * int_max : -Inf
+Inf_min * int_min : Inf
+Inf_min * uint_max : -Inf
+Inf_min * ulong_max : -Inf
+Inf_min * double_min : -Inf
+Inf_min * double_max : -Inf
+Inf_min * float_min : -Inf
+Inf_min * float_max : -Inf
+Inf_min + zero_min : -Inf
+Inf_min + zero_plus : -Inf
+Inf_min + zero : -Inf
+Inf_min + NaN : NaN
+Inf_min + Inf_plus : NaN
+Inf_min + Inf_min : -Inf
+Inf_min + Inf : NaN
+Inf_min + long_max : -Inf
+Inf_min + long_min : -Inf
+Inf_min + int_max : -Inf
+Inf_min + int_min : -Inf
+Inf_min + uint_max : -Inf
+Inf_min + ulong_max : -Inf
+Inf_min + double_min : -Inf
+Inf_min + double_max : -Inf
+Inf_min + float_min : -Inf
+Inf_min + float_max : -Inf
+Inf_min - zero_min : -Inf
+Inf_min - zero_plus : -Inf
+Inf_min - zero : -Inf
+Inf_min - NaN : NaN
+Inf_min - Inf_plus : -Inf
+Inf_min - Inf_min : NaN
+Inf_min - Inf : -Inf
+Inf_min - long_max : -Inf
+Inf_min - long_min : -Inf
+Inf_min - int_max : -Inf
+Inf_min - int_min : -Inf
+Inf_min - uint_max : -Inf
+Inf_min - ulong_max : -Inf
+Inf_min - double_min : -Inf
+Inf_min - double_max : -Inf
+Inf_min - float_min : -Inf
+Inf_min - float_max : -Inf
+Inf_min > zero_min : 0x0
+Inf_min > zero_plus : 0x0
+Inf_min > zero : 0x0
+Inf_min > NaN : 0x0
+Inf_min > Inf_plus : 0x0
+Inf_min > Inf_min : 0x0
+Inf_min > Inf : 0x0
+Inf_min > long_max : 0x0
+Inf_min > long_min : 0x0
+Inf_min > int_max : 0x0
+Inf_min > int_min : 0x0
+Inf_min > uint_max : 0x0
+Inf_min > ulong_max : 0x0
+Inf_min > double_min : 0x0
+Inf_min > double_max : 0x0
+Inf_min > float_min : 0x0
+Inf_min > float_max : 0x0
+Inf_min < zero_min : 0x1
+Inf_min < zero_plus : 0x1
+Inf_min < zero : 0x1
+Inf_min < NaN : 0x0
+Inf_min < Inf_plus : 0x1
+Inf_min < Inf_min : 0x0
+Inf_min < Inf : 0x1
+Inf_min < long_max : 0x1
+Inf_min < long_min : 0x1
+Inf_min < int_max : 0x1
+Inf_min < int_min : 0x1
+Inf_min < uint_max : 0x1
+Inf_min < ulong_max : 0x1
+Inf_min < double_min : 0x1
+Inf_min < double_max : 0x1
+Inf_min < float_min : 0x1
+Inf_min < float_max : 0x1
+Inf_min >= zero_min : 0x0
+Inf_min >= zero_plus : 0x0
+Inf_min >= zero : 0x0
+Inf_min >= NaN : 0x0
+Inf_min >= Inf_plus : 0x0
+Inf_min >= Inf_min : 0x1
+Inf_min >= Inf : 0x0
+Inf_min >= long_max : 0x0
+Inf_min >= long_min : 0x0
+Inf_min >= int_max : 0x0
+Inf_min >= int_min : 0x0
+Inf_min >= uint_max : 0x0
+Inf_min >= ulong_max : 0x0
+Inf_min >= double_min : 0x0
+Inf_min >= double_max : 0x0
+Inf_min >= float_min : 0x0
+Inf_min >= float_max : 0x0
+Inf_min <= zero_min : 0x1
+Inf_min <= zero_plus : 0x1
+Inf_min <= zero : 0x1
+Inf_min <= NaN : 0x0
+Inf_min <= Inf_plus : 0x1
+Inf_min <= Inf_min : 0x1
+Inf_min <= Inf : 0x1
+Inf_min <= long_max : 0x1
+Inf_min <= long_min : 0x1
+Inf_min <= int_max : 0x1
+Inf_min <= int_min : 0x1
+Inf_min <= uint_max : 0x1
+Inf_min <= ulong_max : 0x1
+Inf_min <= double_min : 0x1
+Inf_min <= double_max : 0x1
+Inf_min <= float_min : 0x1
+Inf_min <= float_max : 0x1
+Inf_min == zero_min : 0x0
+Inf_min == zero_plus : 0x0
+Inf_min == zero : 0x0
+Inf_min == NaN : 0x0
+Inf_min == Inf_plus : 0x0
+Inf_min == Inf_min : 0x1
+Inf_min == Inf : 0x0
+Inf_min == long_max : 0x0
+Inf_min == long_min : 0x0
+Inf_min == int_max : 0x0
+Inf_min == int_min : 0x0
+Inf_min == uint_max : 0x0
+Inf_min == ulong_max : 0x0
+Inf_min == double_min : 0x0
+Inf_min == double_max : 0x0
+Inf_min == float_min : 0x0
+Inf_min == float_max : 0x0
+Inf_min != zero_min : 0x1
+Inf_min != zero_plus : 0x1
+Inf_min != zero : 0x1
+Inf_min != NaN : 0x1
+Inf_min != Inf_plus : 0x1
+Inf_min != Inf_min : 0x0
+Inf_min != Inf : 0x1
+Inf_min != long_max : 0x1
+Inf_min != long_min : 0x1
+Inf_min != int_max : 0x1
+Inf_min != int_min : 0x1
+Inf_min != uint_max : 0x1
+Inf_min != ulong_max : 0x1
+Inf_min != double_min : 0x1
+Inf_min != double_max : 0x1
+Inf_min != float_min : 0x1
+Inf_min != float_max : 0x1
+Inf_min * Inf_min * zero_min : NaN
+Inf_min * Inf_min * zero_plus : NaN
+Inf_min * Inf_min * zero : NaN
+Inf_min * Inf_min * NaN : NaN
+Inf_min * Inf_min * Inf_plus : Inf
+Inf_min * Inf_min * Inf_min : -Inf
+Inf_min * Inf_min * Inf : Inf
+Inf_min * Inf_min * long_max : Inf
+Inf_min * Inf_min * long_min : -Inf
+Inf_min * Inf_min * int_max : Inf
+Inf_min * Inf_min * int_min : -Inf
+Inf_min * Inf_min * uint_max : Inf
+Inf_min * Inf_min * ulong_max : Inf
+Inf_min * Inf_min * double_min : Inf
+Inf_min * Inf_min * double_max : Inf
+Inf_min * Inf_min * float_min : Inf
+Inf_min * Inf_min * float_max : Inf
+Inf / zero_min : -Inf
+Inf / zero_plus : Inf
+Inf / zero : Inf
+Inf / NaN : NaN
+Inf / Inf_plus : NaN
+Inf / Inf_min : NaN
+Inf / Inf : NaN
+Inf / long_max : Inf
+Inf / long_min : -Inf
+Inf / int_max : Inf
+Inf / int_min : -Inf
+Inf / uint_max : Inf
+Inf / ulong_max : Inf
+Inf / double_min : Inf
+Inf / double_max : Inf
+Inf / float_min : Inf
+Inf / float_max : Inf
+Inf * zero_min : NaN
+Inf * zero_plus : NaN
+Inf * zero : NaN
+Inf * NaN : NaN
+Inf * Inf_plus : Inf
+Inf * Inf_min : -Inf
+Inf * Inf : Inf
+Inf * long_max : Inf
+Inf * long_min : -Inf
+Inf * int_max : Inf
+Inf * int_min : -Inf
+Inf * uint_max : Inf
+Inf * ulong_max : Inf
+Inf * double_min : Inf
+Inf * double_max : Inf
+Inf * float_min : Inf
+Inf * float_max : Inf
+Inf + zero_min : Inf
+Inf + zero_plus : Inf
+Inf + zero : Inf
+Inf + NaN : NaN
+Inf + Inf_plus : Inf
+Inf + Inf_min : NaN
+Inf + Inf : Inf
+Inf + long_max : Inf
+Inf + long_min : Inf
+Inf + int_max : Inf
+Inf + int_min : Inf
+Inf + uint_max : Inf
+Inf + ulong_max : Inf
+Inf + double_min : Inf
+Inf + double_max : Inf
+Inf + float_min : Inf
+Inf + float_max : Inf
+Inf - zero_min : Inf
+Inf - zero_plus : Inf
+Inf - zero : Inf
+Inf - NaN : NaN
+Inf - Inf_plus : NaN
+Inf - Inf_min : Inf
+Inf - Inf : NaN
+Inf - long_max : Inf
+Inf - long_min : Inf
+Inf - int_max : Inf
+Inf - int_min : Inf
+Inf - uint_max : Inf
+Inf - ulong_max : Inf
+Inf - double_min : Inf
+Inf - double_max : Inf
+Inf - float_min : Inf
+Inf - float_max : Inf
+Inf > zero_min : 0x1
+Inf > zero_plus : 0x1
+Inf > zero : 0x1
+Inf > NaN : 0x0
+Inf > Inf_plus : 0x0
+Inf > Inf_min : 0x1
+Inf > Inf : 0x0
+Inf > long_max : 0x1
+Inf > long_min : 0x1
+Inf > int_max : 0x1
+Inf > int_min : 0x1
+Inf > uint_max : 0x1
+Inf > ulong_max : 0x1
+Inf > double_min : 0x1
+Inf > double_max : 0x1
+Inf > float_min : 0x1
+Inf > float_max : 0x1
+Inf < zero_min : 0x0
+Inf < zero_plus : 0x0
+Inf < zero : 0x0
+Inf < NaN : 0x0
+Inf < Inf_plus : 0x0
+Inf < Inf_min : 0x0
+Inf < Inf : 0x0
+Inf < long_max : 0x0
+Inf < long_min : 0x0
+Inf < int_max : 0x0
+Inf < int_min : 0x0
+Inf < uint_max : 0x0
+Inf < ulong_max : 0x0
+Inf < double_min : 0x0
+Inf < double_max : 0x0
+Inf < float_min : 0x0
+Inf < float_max : 0x0
+Inf >= zero_min : 0x1
+Inf >= zero_plus : 0x1
+Inf >= zero : 0x1
+Inf >= NaN : 0x0
+Inf >= Inf_plus : 0x1
+Inf >= Inf_min : 0x1
+Inf >= Inf : 0x1
+Inf >= long_max : 0x1
+Inf >= long_min : 0x1
+Inf >= int_max : 0x1
+Inf >= int_min : 0x1
+Inf >= uint_max : 0x1
+Inf >= ulong_max : 0x1
+Inf >= double_min : 0x1
+Inf >= double_max : 0x1
+Inf >= float_min : 0x1
+Inf >= float_max : 0x1
+Inf <= zero_min : 0x0
+Inf <= zero_plus : 0x0
+Inf <= zero : 0x0
+Inf <= NaN : 0x0
+Inf <= Inf_plus : 0x1
+Inf <= Inf_min : 0x0
+Inf <= Inf : 0x1
+Inf <= long_max : 0x0
+Inf <= long_min : 0x0
+Inf <= int_max : 0x0
+Inf <= int_min : 0x0
+Inf <= uint_max : 0x0
+Inf <= ulong_max : 0x0
+Inf <= double_min : 0x0
+Inf <= double_max : 0x0
+Inf <= float_min : 0x0
+Inf <= float_max : 0x0
+Inf == zero_min : 0x0
+Inf == zero_plus : 0x0
+Inf == zero : 0x0
+Inf == NaN : 0x0
+Inf == Inf_plus : 0x1
+Inf == Inf_min : 0x0
+Inf == Inf : 0x1
+Inf == long_max : 0x0
+Inf == long_min : 0x0
+Inf == int_max : 0x0
+Inf == int_min : 0x0
+Inf == uint_max : 0x0
+Inf == ulong_max : 0x0
+Inf == double_min : 0x0
+Inf == double_max : 0x0
+Inf == float_min : 0x0
+Inf == float_max : 0x0
+Inf != zero_min : 0x1
+Inf != zero_plus : 0x1
+Inf != zero : 0x1
+Inf != NaN : 0x1
+Inf != Inf_plus : 0x0
+Inf != Inf_min : 0x1
+Inf != Inf : 0x0
+Inf != long_max : 0x1
+Inf != long_min : 0x1
+Inf != int_max : 0x1
+Inf != int_min : 0x1
+Inf != uint_max : 0x1
+Inf != ulong_max : 0x1
+Inf != double_min : 0x1
+Inf != double_max : 0x1
+Inf != float_min : 0x1
+Inf != float_max : 0x1
+Inf * Inf * zero_min : NaN
+Inf * Inf * zero_plus : NaN
+Inf * Inf * zero : NaN
+Inf * Inf * NaN : NaN
+Inf * Inf * Inf_plus : Inf
+Inf * Inf * Inf_min : -Inf
+Inf * Inf * Inf : Inf
+Inf * Inf * long_max : Inf
+Inf * Inf * long_min : -Inf
+Inf * Inf * int_max : Inf
+Inf * Inf * int_min : -Inf
+Inf * Inf * uint_max : Inf
+Inf * Inf * ulong_max : Inf
+Inf * Inf * double_min : Inf
+Inf * Inf * double_max : Inf
+Inf * Inf * float_min : Inf
+Inf * Inf * float_max : Inf
+****************** limits fx_float_long
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x08e+15
+long_min : 0x8e+15
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x1e+16
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+long_max / zero_min : -Inf
+long_max / zero_plus : Inf
+long_max / zero : Inf
+long_max / NaN : NaN
+long_max / Inf_plus : 0x0
+long_max / Inf_min : 0x0
+long_max / Inf : 0x0
+long_max / long_max : 0x1
+long_max / long_min : 0xf
+long_max / int_max : 0x100000002
+long_max / int_min : 0xfe+8
+long_max / uint_max : 0x080000000.8
+long_max / ulong_max : 0x0.8
+long_max / double_min : Inf
+long_max / double_max : 0x.080000000000008e-239
+long_max / float_min : 0x2e+47
+long_max / float_max : 0x.08000008000008e-15
+long_max * zero_min : 0x0
+long_max * zero_plus : 0x0
+long_max * zero : 0x0
+long_max * NaN : NaN
+long_max * Inf_plus : Inf
+long_max * Inf_min : -Inf
+long_max * Inf : Inf
+long_max * long_max : 0x4e+31
+long_max * long_min : 0xce+31
+long_max * int_max : 0x3fffffff8e+15
+long_max * int_min : 0xce+23
+long_max * uint_max : 0x7fffffff8e+15
+long_max * ulong_max : 0x08e+31
+long_max * double_min : 0x.2e-239
+long_max * double_max : Inf
+long_max * float_min : 0x.2e-15
+long_max * float_max : 0x7fffff8e+41
+long_max + zero_min : 0x08e+15
+long_max + zero_plus : 0x08e+15
+long_max + zero : 0x08e+15
+long_max + NaN : NaN
+long_max + Inf_plus : Inf
+long_max + Inf_min : -Inf
+long_max + Inf : Inf
+long_max + long_max : 0x1e+16
+long_max + long_min : 0x0
+long_max + int_max : 0x0800000008e+7
+long_max + int_min : 0x7fffffff8e+7
+long_max + uint_max : 0x080000001e+8
+long_max + ulong_max : 0x18e+15
+long_max + double_min : 0x08e+15
+long_max + double_max : 0x0fffffffffffff8e+242
+long_max + float_min : 0x08e+15
+long_max + float_max : 0x0ffffffe+26
+long_max - zero_min : 0x08e+15
+long_max - zero_plus : 0x08e+15
+long_max - zero : 0x08e+15
+long_max - NaN : NaN
+long_max - Inf_plus : -Inf
+long_max - Inf_min : Inf
+long_max - Inf : -Inf
+long_max - long_max : 0x0
+long_max - long_min : 0x1e+16
+long_max - int_max : 0x7fffffff8e+7
+long_max - int_min : 0x0800000008e+7
+long_max - uint_max : 0x7fffffffe+8
+long_max - ulong_max : 0x8e+15
+long_max - double_min : 0x08e+15
+long_max - double_max : 0xf00000000000008e+242
+long_max - float_min : 0x08e+15
+long_max - float_max : 0xf000001e+26
+long_max > zero_min : 0x1
+long_max > zero_plus : 0x1
+long_max > zero : 0x1
+long_max > NaN : 0x0
+long_max > Inf_plus : 0x0
+long_max > Inf_min : 0x1
+long_max > Inf : 0x0
+long_max > long_max : 0x0
+long_max > long_min : 0x1
+long_max > int_max : 0x1
+long_max > int_min : 0x1
+long_max > uint_max : 0x1
+long_max > ulong_max : 0x0
+long_max > double_min : 0x1
+long_max > double_max : 0x0
+long_max > float_min : 0x1
+long_max > float_max : 0x0
+long_max < zero_min : 0x0
+long_max < zero_plus : 0x0
+long_max < zero : 0x0
+long_max < NaN : 0x0
+long_max < Inf_plus : 0x1
+long_max < Inf_min : 0x0
+long_max < Inf : 0x1
+long_max < long_max : 0x0
+long_max < long_min : 0x0
+long_max < int_max : 0x0
+long_max < int_min : 0x0
+long_max < uint_max : 0x0
+long_max < ulong_max : 0x1
+long_max < double_min : 0x0
+long_max < double_max : 0x1
+long_max < float_min : 0x0
+long_max < float_max : 0x1
+long_max >= zero_min : 0x1
+long_max >= zero_plus : 0x1
+long_max >= zero : 0x1
+long_max >= NaN : 0x0
+long_max >= Inf_plus : 0x0
+long_max >= Inf_min : 0x1
+long_max >= Inf : 0x0
+long_max >= long_max : 0x1
+long_max >= long_min : 0x1
+long_max >= int_max : 0x1
+long_max >= int_min : 0x1
+long_max >= uint_max : 0x1
+long_max >= ulong_max : 0x0
+long_max >= double_min : 0x1
+long_max >= double_max : 0x0
+long_max >= float_min : 0x1
+long_max >= float_max : 0x0
+long_max <= zero_min : 0x0
+long_max <= zero_plus : 0x0
+long_max <= zero : 0x0
+long_max <= NaN : 0x0
+long_max <= Inf_plus : 0x1
+long_max <= Inf_min : 0x0
+long_max <= Inf : 0x1
+long_max <= long_max : 0x1
+long_max <= long_min : 0x0
+long_max <= int_max : 0x0
+long_max <= int_min : 0x0
+long_max <= uint_max : 0x0
+long_max <= ulong_max : 0x1
+long_max <= double_min : 0x0
+long_max <= double_max : 0x1
+long_max <= float_min : 0x0
+long_max <= float_max : 0x1
+long_max == zero_min : 0x0
+long_max == zero_plus : 0x0
+long_max == zero : 0x0
+long_max == NaN : 0x0
+long_max == Inf_plus : 0x0
+long_max == Inf_min : 0x0
+long_max == Inf : 0x0
+long_max == long_max : 0x1
+long_max == long_min : 0x0
+long_max == int_max : 0x0
+long_max == int_min : 0x0
+long_max == uint_max : 0x0
+long_max == ulong_max : 0x0
+long_max == double_min : 0x0
+long_max == double_max : 0x0
+long_max == float_min : 0x0
+long_max == float_max : 0x0
+long_max != zero_min : 0x1
+long_max != zero_plus : 0x1
+long_max != zero : 0x1
+long_max != NaN : 0x1
+long_max != Inf_plus : 0x1
+long_max != Inf_min : 0x1
+long_max != Inf : 0x1
+long_max != long_max : 0x0
+long_max != long_min : 0x1
+long_max != int_max : 0x1
+long_max != int_min : 0x1
+long_max != uint_max : 0x1
+long_max != ulong_max : 0x1
+long_max != double_min : 0x1
+long_max != double_max : 0x1
+long_max != float_min : 0x1
+long_max != float_max : 0x1
+long_max * long_max * zero_min : 0x0
+long_max * long_max * zero_plus : 0x0
+long_max * long_max * zero : 0x0
+long_max * long_max * NaN : NaN
+long_max * long_max * Inf_plus : Inf
+long_max * long_max * Inf_min : -Inf
+long_max * long_max * Inf : Inf
+long_max * long_max * long_max : 0x2e+47
+long_max * long_max * long_min : 0xee+47
+long_max * long_max * int_max : 0x1fffffffce+31
+long_max * long_max * int_min : 0xee+39
+long_max * long_max * uint_max : 0x3fffffffce+31
+long_max * long_max * ulong_max : 0x4e+47
+long_max * long_max * double_min : 0x.1e-223
+long_max * long_max * double_max : Inf
+long_max * long_max * float_min : 0x1
+long_max * long_max * float_max : 0x3fffffce+57
+long_min / zero_min : Inf
+long_min / zero_plus : -Inf
+long_min / zero : -Inf
+long_min / NaN : NaN
+long_min / Inf_plus : 0x0
+long_min / Inf_min : 0x0
+long_min / Inf : 0x0
+long_min / long_max : 0xf
+long_min / long_min : 0x1
+long_min / int_max : 0xefffffffe
+long_min / int_min : 0x1e+8
+long_min / uint_max : 0xf7fffffff.8
+long_min / ulong_max : 0x.8
+long_min / double_min : -Inf
+long_min / double_max : 0x.f7ffffffffffff8e-239
+long_min / float_min : 0xee+47
+long_min / float_max : 0x.f7fffff7fffff8e-15
+long_min * zero_min : 0x0
+long_min * zero_plus : 0x0
+long_min * zero : 0x0
+long_min * NaN : NaN
+long_min * Inf_plus : -Inf
+long_min * Inf_min : Inf
+long_min * Inf : -Inf
+long_min * long_max : 0xce+31
+long_min * long_min : 0x4e+31
+long_min * int_max : 0xc00000008e+15
+long_min * int_min : 0x4e+23
+long_min * uint_max : 0x800000008e+15
+long_min * ulong_max : 0x8e+31
+long_min * double_min : 0x.ee-239
+long_min * double_max : -Inf
+long_min * float_min : 0x.ee-15
+long_min * float_max : 0x8000008e+41
+long_min + zero_min : 0x8e+15
+long_min + zero_plus : 0x8e+15
+long_min + zero : 0x8e+15
+long_min + NaN : NaN
+long_min + Inf_plus : Inf
+long_min + Inf_min : -Inf
+long_min + Inf : Inf
+long_min + long_max : 0x0
+long_min + long_min : 0xfe+16
+long_min + int_max : 0x800000008e+7
+long_min + int_min : 0xf7fffffff8e+7
+long_min + uint_max : 0x80000001e+8
+long_min + ulong_max : 0x08e+15
+long_min + double_min : 0x8e+15
+long_min + double_max : 0x0fffffffffffff8e+242
+long_min + float_min : 0x8e+15
+long_min + float_max : 0x0ffffffe+26
+long_min - zero_min : 0x8e+15
+long_min - zero_plus : 0x8e+15
+long_min - zero : 0x8e+15
+long_min - NaN : NaN
+long_min - Inf_plus : -Inf
+long_min - Inf_min : Inf
+long_min - Inf : -Inf
+long_min - long_max : 0xfe+16
+long_min - long_min : 0x0
+long_min - int_max : 0xf7fffffff8e+7
+long_min - int_min : 0x800000008e+7
+long_min - uint_max : 0xf7fffffffe+8
+long_min - ulong_max : 0xe8e+15
+long_min - double_min : 0x8e+15
+long_min - double_max : 0xf00000000000008e+242
+long_min - float_min : 0x8e+15
+long_min - float_max : 0xf000001e+26
+long_min > zero_min : 0x0
+long_min > zero_plus : 0x0
+long_min > zero : 0x0
+long_min > NaN : 0x0
+long_min > Inf_plus : 0x0
+long_min > Inf_min : 0x1
+long_min > Inf : 0x0
+long_min > long_max : 0x0
+long_min > long_min : 0x0
+long_min > int_max : 0x0
+long_min > int_min : 0x0
+long_min > uint_max : 0x0
+long_min > ulong_max : 0x0
+long_min > double_min : 0x0
+long_min > double_max : 0x0
+long_min > float_min : 0x0
+long_min > float_max : 0x0
+long_min < zero_min : 0x1
+long_min < zero_plus : 0x1
+long_min < zero : 0x1
+long_min < NaN : 0x0
+long_min < Inf_plus : 0x1
+long_min < Inf_min : 0x0
+long_min < Inf : 0x1
+long_min < long_max : 0x1
+long_min < long_min : 0x0
+long_min < int_max : 0x1
+long_min < int_min : 0x1
+long_min < uint_max : 0x1
+long_min < ulong_max : 0x1
+long_min < double_min : 0x1
+long_min < double_max : 0x1
+long_min < float_min : 0x1
+long_min < float_max : 0x1
+long_min >= zero_min : 0x0
+long_min >= zero_plus : 0x0
+long_min >= zero : 0x0
+long_min >= NaN : 0x0
+long_min >= Inf_plus : 0x0
+long_min >= Inf_min : 0x1
+long_min >= Inf : 0x0
+long_min >= long_max : 0x0
+long_min >= long_min : 0x1
+long_min >= int_max : 0x0
+long_min >= int_min : 0x0
+long_min >= uint_max : 0x0
+long_min >= ulong_max : 0x0
+long_min >= double_min : 0x0
+long_min >= double_max : 0x0
+long_min >= float_min : 0x0
+long_min >= float_max : 0x0
+long_min <= zero_min : 0x1
+long_min <= zero_plus : 0x1
+long_min <= zero : 0x1
+long_min <= NaN : 0x0
+long_min <= Inf_plus : 0x1
+long_min <= Inf_min : 0x0
+long_min <= Inf : 0x1
+long_min <= long_max : 0x1
+long_min <= long_min : 0x1
+long_min <= int_max : 0x1
+long_min <= int_min : 0x1
+long_min <= uint_max : 0x1
+long_min <= ulong_max : 0x1
+long_min <= double_min : 0x1
+long_min <= double_max : 0x1
+long_min <= float_min : 0x1
+long_min <= float_max : 0x1
+long_min == zero_min : 0x0
+long_min == zero_plus : 0x0
+long_min == zero : 0x0
+long_min == NaN : 0x0
+long_min == Inf_plus : 0x0
+long_min == Inf_min : 0x0
+long_min == Inf : 0x0
+long_min == long_max : 0x0
+long_min == long_min : 0x1
+long_min == int_max : 0x0
+long_min == int_min : 0x0
+long_min == uint_max : 0x0
+long_min == ulong_max : 0x0
+long_min == double_min : 0x0
+long_min == double_max : 0x0
+long_min == float_min : 0x0
+long_min == float_max : 0x0
+long_min != zero_min : 0x1
+long_min != zero_plus : 0x1
+long_min != zero : 0x1
+long_min != NaN : 0x1
+long_min != Inf_plus : 0x1
+long_min != Inf_min : 0x1
+long_min != Inf : 0x1
+long_min != long_max : 0x1
+long_min != long_min : 0x0
+long_min != int_max : 0x1
+long_min != int_min : 0x1
+long_min != uint_max : 0x1
+long_min != ulong_max : 0x1
+long_min != double_min : 0x1
+long_min != double_max : 0x1
+long_min != float_min : 0x1
+long_min != float_max : 0x1
+long_min * long_min * zero_min : 0x0
+long_min * long_min * zero_plus : 0x0
+long_min * long_min * zero : 0x0
+long_min * long_min * NaN : NaN
+long_min * long_min * Inf_plus : Inf
+long_min * long_min * Inf_min : -Inf
+long_min * long_min * Inf : Inf
+long_min * long_min * long_max : 0x2e+47
+long_min * long_min * long_min : 0xee+47
+long_min * long_min * int_max : 0x1fffffffce+31
+long_min * long_min * int_min : 0xee+39
+long_min * long_min * uint_max : 0x3fffffffce+31
+long_min * long_min * ulong_max : 0x4e+47
+long_min * long_min * double_min : 0x.1e-223
+long_min * long_min * double_max : Inf
+long_min * long_min * float_min : 0x1
+long_min * long_min * float_max : 0x3fffffce+57
+int_max / zero_min : -Inf
+int_max / zero_plus : Inf
+int_max / zero : Inf
+int_max / NaN : NaN
+int_max / Inf_plus : 0x0
+int_max / Inf_min : 0x0
+int_max / Inf : 0x0
+int_max / long_max : 0x.0fffffffee-7
+int_max / long_min : 0x.f00000002e-7
+int_max / int_max : 0x1
+int_max / int_min : 0xf.00000002
+int_max / uint_max : 0x.7fffffff8
+int_max / ulong_max : 0x.7fffffffe-8
+int_max / double_min : Inf
+int_max / double_max : 0x.7fffffff000004e-248
+int_max / float_min : 0x1fffffffce+31
+int_max / float_max : 0x.08000007f00008e-23
+int_max * zero_min : 0x0
+int_max * zero_plus : 0x0
+int_max * zero : 0x0
+int_max * NaN : NaN
+int_max * Inf_plus : Inf
+int_max * Inf_min : -Inf
+int_max * Inf : Inf
+int_max * long_max : 0x3fffffff8e+15
+int_max * long_min : 0xc00000008e+15
+int_max * int_max : 0x3fffffffe+8
+int_max * int_min : 0xc00000008e+7
+int_max * uint_max : 0x7ffffffe8e+7
+int_max * ulong_max : 0x7fffffffe+16
+int_max * double_min : 0x.1fffffffce-247
+int_max * double_max : Inf
+int_max * float_min : 0x.1fffffffce-23
+int_max * float_max : 0x7fffff7fe+32
+int_max + zero_min : 0x7fffffff
+int_max + zero_plus : 0x7fffffff
+int_max + zero : 0x7fffffff
+int_max + NaN : NaN
+int_max + Inf_plus : Inf
+int_max + Inf_min : -Inf
+int_max + Inf : Inf
+int_max + long_max : 0x0800000008e+7
+int_max + long_min : 0x800000008e+7
+int_max + int_max : 0x0fffffffe
+int_max + int_min : 0xf
+int_max + uint_max : 0x17ffffffe
+int_max + ulong_max : 0x1000000008e+7
+int_max + double_min : 0x7fffffff
+int_max + double_max : 0x0fffffffffffff8e+242
+int_max + float_min : 0x7fffffff
+int_max + float_max : 0x0ffffffe+26
+int_max - zero_min : 0x7fffffff
+int_max - zero_plus : 0x7fffffff
+int_max - zero : 0x7fffffff
+int_max - NaN : NaN
+int_max - Inf_plus : -Inf
+int_max - Inf_min : Inf
+int_max - Inf : -Inf
+int_max - long_max : 0x800000008e+7
+int_max - long_min : 0x0800000008e+7
+int_max - int_max : 0x0
+int_max - int_min : 0x0ffffffff
+int_max - uint_max : 0x8e+7
+int_max - ulong_max : 0xf000000008e+7
+int_max - double_min : 0x7fffffff
+int_max - double_max : 0xf00000000000008e+242
+int_max - float_min : 0x7fffffff
+int_max - float_max : 0xf000001e+26
+int_max > zero_min : 0x1
+int_max > zero_plus : 0x1
+int_max > zero : 0x1
+int_max > NaN : 0x0
+int_max > Inf_plus : 0x0
+int_max > Inf_min : 0x1
+int_max > Inf : 0x0
+int_max > long_max : 0x0
+int_max > long_min : 0x1
+int_max > int_max : 0x0
+int_max > int_min : 0x1
+int_max > uint_max : 0x0
+int_max > ulong_max : 0x0
+int_max > double_min : 0x1
+int_max > double_max : 0x0
+int_max > float_min : 0x1
+int_max > float_max : 0x0
+int_max < zero_min : 0x0
+int_max < zero_plus : 0x0
+int_max < zero : 0x0
+int_max < NaN : 0x0
+int_max < Inf_plus : 0x1
+int_max < Inf_min : 0x0
+int_max < Inf : 0x1
+int_max < long_max : 0x1
+int_max < long_min : 0x0
+int_max < int_max : 0x0
+int_max < int_min : 0x0
+int_max < uint_max : 0x1
+int_max < ulong_max : 0x1
+int_max < double_min : 0x0
+int_max < double_max : 0x1
+int_max < float_min : 0x0
+int_max < float_max : 0x1
+int_max >= zero_min : 0x1
+int_max >= zero_plus : 0x1
+int_max >= zero : 0x1
+int_max >= NaN : 0x0
+int_max >= Inf_plus : 0x0
+int_max >= Inf_min : 0x1
+int_max >= Inf : 0x0
+int_max >= long_max : 0x0
+int_max >= long_min : 0x1
+int_max >= int_max : 0x1
+int_max >= int_min : 0x1
+int_max >= uint_max : 0x0
+int_max >= ulong_max : 0x0
+int_max >= double_min : 0x1
+int_max >= double_max : 0x0
+int_max >= float_min : 0x1
+int_max >= float_max : 0x0
+int_max <= zero_min : 0x0
+int_max <= zero_plus : 0x0
+int_max <= zero : 0x0
+int_max <= NaN : 0x0
+int_max <= Inf_plus : 0x1
+int_max <= Inf_min : 0x0
+int_max <= Inf : 0x1
+int_max <= long_max : 0x1
+int_max <= long_min : 0x0
+int_max <= int_max : 0x1
+int_max <= int_min : 0x0
+int_max <= uint_max : 0x1
+int_max <= ulong_max : 0x1
+int_max <= double_min : 0x0
+int_max <= double_max : 0x1
+int_max <= float_min : 0x0
+int_max <= float_max : 0x1
+int_max == zero_min : 0x0
+int_max == zero_plus : 0x0
+int_max == zero : 0x0
+int_max == NaN : 0x0
+int_max == Inf_plus : 0x0
+int_max == Inf_min : 0x0
+int_max == Inf : 0x0
+int_max == long_max : 0x0
+int_max == long_min : 0x0
+int_max == int_max : 0x1
+int_max == int_min : 0x0
+int_max == uint_max : 0x0
+int_max == ulong_max : 0x0
+int_max == double_min : 0x0
+int_max == double_max : 0x0
+int_max == float_min : 0x0
+int_max == float_max : 0x0
+int_max != zero_min : 0x1
+int_max != zero_plus : 0x1
+int_max != zero : 0x1
+int_max != NaN : 0x1
+int_max != Inf_plus : 0x1
+int_max != Inf_min : 0x1
+int_max != Inf : 0x1
+int_max != long_max : 0x1
+int_max != long_min : 0x1
+int_max != int_max : 0x0
+int_max != int_min : 0x1
+int_max != uint_max : 0x1
+int_max != ulong_max : 0x1
+int_max != double_min : 0x1
+int_max != double_max : 0x1
+int_max != float_min : 0x1
+int_max != float_max : 0x1
+int_max * int_max * zero_min : 0x0
+int_max * int_max * zero_plus : 0x0
+int_max * int_max * zero : 0x0
+int_max * int_max * NaN : NaN
+int_max * int_max * Inf_plus : Inf
+int_max * int_max * Inf_min : -Inf
+int_max * int_max * Inf : Inf
+int_max * int_max * long_max : 0x1fffffff8e+23
+int_max * int_max * long_min : 0xe00000008e+23
+int_max * int_max * int_max : 0x1fffffff4e+15
+int_max * int_max * int_min : 0xe00000008e+15
+int_max * int_max * uint_max : 0x3ffffffece+15
+int_max * int_max * ulong_max : 0x3fffffffe+24
+int_max * int_max * double_min : 0x.0fffffffce-239
+int_max * int_max * double_max : Inf
+int_max * int_max * float_min : 0x.0fffffffce-15
+int_max * int_max * float_max : 0x3fffffbfe+40
+int_min / zero_min : Inf
+int_min / zero_plus : -Inf
+int_min / zero : -Inf
+int_min / NaN : NaN
+int_min / Inf_plus : 0x0
+int_min / Inf_min : 0x0
+int_min / Inf : 0x0
+int_min / long_max : 0x.fe-7
+int_min / long_min : 0x.1e-7
+int_min / int_max : 0xe.fffffffe
+int_min / int_min : 0x1
+int_min / uint_max : 0xf.7fffffff8
+int_min / ulong_max : 0x.8e-8
+int_min / double_min : -Inf
+int_min / double_max : 0x.f7ffffffffffff8e-247
+int_min / float_min : 0xee+39
+int_min / float_max : 0x.f7fffff7fffff8e-23
+int_min * zero_min : 0x0
+int_min * zero_plus : 0x0
+int_min * zero : 0x0
+int_min * NaN : NaN
+int_min * Inf_plus : -Inf
+int_min * Inf_min : Inf
+int_min * Inf : -Inf
+int_min * long_max : 0xce+23
+int_min * long_min : 0x4e+23
+int_min * int_max : 0xc00000008e+7
+int_min * int_min : 0x4e+15
+int_min * uint_max : 0x800000008e+7
+int_min * ulong_max : 0x8e+23
+int_min * double_min : 0x.ee-247
+int_min * double_max : -Inf
+int_min * float_min : 0x.ee-23
+int_min * float_max : 0x8000008e+33
+int_min + zero_min : 0x8e+7
+int_min + zero_plus : 0x8e+7
+int_min + zero : 0x8e+7
+int_min + NaN : NaN
+int_min + Inf_plus : Inf
+int_min + Inf_min : -Inf
+int_min + Inf : Inf
+int_min + long_max : 0x7fffffff8e+7
+int_min + long_min : 0xf7fffffff8e+7
+int_min + int_max : 0xf
+int_min + int_min : 0xfe+8
+int_min + uint_max : 0x7fffffff
+int_min + ulong_max : 0x0ffffffff8e+7
+int_min + double_min : 0x8e+7
+int_min + double_max : 0x0fffffffffffff8e+242
+int_min + float_min : 0x8e+7
+int_min + float_max : 0x0ffffffe+26
+int_min - zero_min : 0x8e+7
+int_min - zero_plus : 0x8e+7
+int_min - zero : 0x8e+7
+int_min - NaN : NaN
+int_min - Inf_plus : -Inf
+int_min - Inf_min : Inf
+int_min - Inf : -Inf
+int_min - long_max : 0xf7fffffff8e+7
+int_min - long_min : 0x7fffffff8e+7
+int_min - int_max : 0xf00000001
+int_min - int_min : 0x0
+int_min - uint_max : 0xe80000001
+int_min - ulong_max : 0xeffffffff8e+7
+int_min - double_min : 0x8e+7
+int_min - double_max : 0xf00000000000008e+242
+int_min - float_min : 0x8e+7
+int_min - float_max : 0xf000001e+26
+int_min > zero_min : 0x0
+int_min > zero_plus : 0x0
+int_min > zero : 0x0
+int_min > NaN : 0x0
+int_min > Inf_plus : 0x0
+int_min > Inf_min : 0x1
+int_min > Inf : 0x0
+int_min > long_max : 0x0
+int_min > long_min : 0x1
+int_min > int_max : 0x0
+int_min > int_min : 0x0
+int_min > uint_max : 0x0
+int_min > ulong_max : 0x0
+int_min > double_min : 0x0
+int_min > double_max : 0x0
+int_min > float_min : 0x0
+int_min > float_max : 0x0
+int_min < zero_min : 0x1
+int_min < zero_plus : 0x1
+int_min < zero : 0x1
+int_min < NaN : 0x0
+int_min < Inf_plus : 0x1
+int_min < Inf_min : 0x0
+int_min < Inf : 0x1
+int_min < long_max : 0x1
+int_min < long_min : 0x0
+int_min < int_max : 0x1
+int_min < int_min : 0x0
+int_min < uint_max : 0x1
+int_min < ulong_max : 0x1
+int_min < double_min : 0x1
+int_min < double_max : 0x1
+int_min < float_min : 0x1
+int_min < float_max : 0x1
+int_min >= zero_min : 0x0
+int_min >= zero_plus : 0x0
+int_min >= zero : 0x0
+int_min >= NaN : 0x0
+int_min >= Inf_plus : 0x0
+int_min >= Inf_min : 0x1
+int_min >= Inf : 0x0
+int_min >= long_max : 0x0
+int_min >= long_min : 0x1
+int_min >= int_max : 0x0
+int_min >= int_min : 0x1
+int_min >= uint_max : 0x0
+int_min >= ulong_max : 0x0
+int_min >= double_min : 0x0
+int_min >= double_max : 0x0
+int_min >= float_min : 0x0
+int_min >= float_max : 0x0
+int_min <= zero_min : 0x1
+int_min <= zero_plus : 0x1
+int_min <= zero : 0x1
+int_min <= NaN : 0x0
+int_min <= Inf_plus : 0x1
+int_min <= Inf_min : 0x0
+int_min <= Inf : 0x1
+int_min <= long_max : 0x1
+int_min <= long_min : 0x0
+int_min <= int_max : 0x1
+int_min <= int_min : 0x1
+int_min <= uint_max : 0x1
+int_min <= ulong_max : 0x1
+int_min <= double_min : 0x1
+int_min <= double_max : 0x1
+int_min <= float_min : 0x1
+int_min <= float_max : 0x1
+int_min == zero_min : 0x0
+int_min == zero_plus : 0x0
+int_min == zero : 0x0
+int_min == NaN : 0x0
+int_min == Inf_plus : 0x0
+int_min == Inf_min : 0x0
+int_min == Inf : 0x0
+int_min == long_max : 0x0
+int_min == long_min : 0x0
+int_min == int_max : 0x0
+int_min == int_min : 0x1
+int_min == uint_max : 0x0
+int_min == ulong_max : 0x0
+int_min == double_min : 0x0
+int_min == double_max : 0x0
+int_min == float_min : 0x0
+int_min == float_max : 0x0
+int_min != zero_min : 0x1
+int_min != zero_plus : 0x1
+int_min != zero : 0x1
+int_min != NaN : 0x1
+int_min != Inf_plus : 0x1
+int_min != Inf_min : 0x1
+int_min != Inf : 0x1
+int_min != long_max : 0x1
+int_min != long_min : 0x1
+int_min != int_max : 0x1
+int_min != int_min : 0x0
+int_min != uint_max : 0x1
+int_min != ulong_max : 0x1
+int_min != double_min : 0x1
+int_min != double_max : 0x1
+int_min != float_min : 0x1
+int_min != float_max : 0x1
+int_min * int_min * zero_min : 0x0
+int_min * int_min * zero_plus : 0x0
+int_min * int_min * zero : 0x0
+int_min * int_min * NaN : NaN
+int_min * int_min * Inf_plus : Inf
+int_min * int_min * Inf_min : -Inf
+int_min * int_min * Inf : Inf
+int_min * int_min * long_max : 0x2e+31
+int_min * int_min * long_min : 0xee+31
+int_min * int_min * int_max : 0x1fffffffce+15
+int_min * int_min * int_min : 0xee+23
+int_min * int_min * uint_max : 0x3fffffffce+15
+int_min * int_min * ulong_max : 0x4e+31
+int_min * int_min * double_min : 0x.1e-239
+int_min * int_min * double_max : Inf
+int_min * int_min * float_min : 0x.1e-15
+int_min * int_min * float_max : 0x3fffffce+41
+uint_max / zero_min : -Inf
+uint_max / zero_plus : Inf
+uint_max / zero : Inf
+uint_max / NaN : NaN
+uint_max / Inf_plus : 0x0
+uint_max / Inf_min : 0x0
+uint_max / Inf : 0x0
+uint_max / long_max : 0x.1fffffffee-7
+uint_max / long_min : 0x.e00000002e-7
+uint_max / int_max : 0x2.00000002
+uint_max / int_min : 0xe.00000002
+uint_max / uint_max : 0x1
+uint_max / ulong_max : 0x.0ffffffffe-7
+uint_max / double_min : Inf
+uint_max / double_max : 0x.0ffffffff000008e-247
+uint_max / float_min : 0x3fffffffce+31
+uint_max / float_max : 0x.1000000ff0001e-23
+uint_max * zero_min : 0x0
+uint_max * zero_plus : 0x0
+uint_max * zero : 0x0
+uint_max * NaN : NaN
+uint_max * Inf_plus : Inf
+uint_max * Inf_min : -Inf
+uint_max * Inf : Inf
+uint_max * long_max : 0x7fffffff8e+15
+uint_max * long_min : 0x800000008e+15
+uint_max * int_max : 0x7ffffffe8e+7
+uint_max * int_min : 0x800000008e+7
+uint_max * uint_max : 0x0fffffffee+8
+uint_max * ulong_max : 0x0ffffffffe+16
+uint_max * double_min : 0x.3fffffffce-247
+uint_max * double_max : Inf
+uint_max * float_min : 0x.3fffffffce-23
+uint_max * float_max : 0x0fffffeffe+32
+uint_max + zero_min : 0x0ffffffff
+uint_max + zero_plus : 0x0ffffffff
+uint_max + zero : 0x0ffffffff
+uint_max + NaN : NaN
+uint_max + Inf_plus : Inf
+uint_max + Inf_min : -Inf
+uint_max + Inf : Inf
+uint_max + long_max : 0x080000001e+8
+uint_max + long_min : 0x80000001e+8
+uint_max + int_max : 0x17ffffffe
+uint_max + int_min : 0x7fffffff
+uint_max + uint_max : 0x1fffffffe
+uint_max + ulong_max : 0x100000001e+8
+uint_max + double_min : 0x0ffffffff
+uint_max + double_max : 0x0fffffffffffff8e+242
+uint_max + float_min : 0x0ffffffff
+uint_max + float_max : 0x0ffffffe+26
+uint_max - zero_min : 0x0ffffffff
+uint_max - zero_plus : 0x0ffffffff
+uint_max - zero : 0x0ffffffff
+uint_max - NaN : NaN
+uint_max - Inf_plus : -Inf
+uint_max - Inf_min : Inf
+uint_max - Inf : -Inf
+uint_max - long_max : 0x80000001e+8
+uint_max - long_min : 0x080000001e+8
+uint_max - int_max : 0x08e+7
+uint_max - int_min : 0x17fffffff
+uint_max - uint_max : 0x0
+uint_max - ulong_max : 0xf00000001e+8
+uint_max - double_min : 0x0ffffffff
+uint_max - double_max : 0xf00000000000008e+242
+uint_max - float_min : 0x0ffffffff
+uint_max - float_max : 0xf000001e+26
+uint_max > zero_min : 0x1
+uint_max > zero_plus : 0x1
+uint_max > zero : 0x1
+uint_max > NaN : 0x0
+uint_max > Inf_plus : 0x0
+uint_max > Inf_min : 0x1
+uint_max > Inf : 0x0
+uint_max > long_max : 0x0
+uint_max > long_min : 0x1
+uint_max > int_max : 0x1
+uint_max > int_min : 0x1
+uint_max > uint_max : 0x0
+uint_max > ulong_max : 0x0
+uint_max > double_min : 0x1
+uint_max > double_max : 0x0
+uint_max > float_min : 0x1
+uint_max > float_max : 0x0
+uint_max < zero_min : 0x0
+uint_max < zero_plus : 0x0
+uint_max < zero : 0x0
+uint_max < NaN : 0x0
+uint_max < Inf_plus : 0x1
+uint_max < Inf_min : 0x0
+uint_max < Inf : 0x1
+uint_max < long_max : 0x1
+uint_max < long_min : 0x0
+uint_max < int_max : 0x0
+uint_max < int_min : 0x0
+uint_max < uint_max : 0x0
+uint_max < ulong_max : 0x1
+uint_max < double_min : 0x0
+uint_max < double_max : 0x1
+uint_max < float_min : 0x0
+uint_max < float_max : 0x1
+uint_max >= zero_min : 0x1
+uint_max >= zero_plus : 0x1
+uint_max >= zero : 0x1
+uint_max >= NaN : 0x0
+uint_max >= Inf_plus : 0x0
+uint_max >= Inf_min : 0x1
+uint_max >= Inf : 0x0
+uint_max >= long_max : 0x0
+uint_max >= long_min : 0x1
+uint_max >= int_max : 0x1
+uint_max >= int_min : 0x1
+uint_max >= uint_max : 0x1
+uint_max >= ulong_max : 0x0
+uint_max >= double_min : 0x1
+uint_max >= double_max : 0x0
+uint_max >= float_min : 0x1
+uint_max >= float_max : 0x0
+uint_max <= zero_min : 0x0
+uint_max <= zero_plus : 0x0
+uint_max <= zero : 0x0
+uint_max <= NaN : 0x0
+uint_max <= Inf_plus : 0x1
+uint_max <= Inf_min : 0x0
+uint_max <= Inf : 0x1
+uint_max <= long_max : 0x1
+uint_max <= long_min : 0x0
+uint_max <= int_max : 0x0
+uint_max <= int_min : 0x0
+uint_max <= uint_max : 0x1
+uint_max <= ulong_max : 0x1
+uint_max <= double_min : 0x0
+uint_max <= double_max : 0x1
+uint_max <= float_min : 0x0
+uint_max <= float_max : 0x1
+uint_max == zero_min : 0x0
+uint_max == zero_plus : 0x0
+uint_max == zero : 0x0
+uint_max == NaN : 0x0
+uint_max == Inf_plus : 0x0
+uint_max == Inf_min : 0x0
+uint_max == Inf : 0x0
+uint_max == long_max : 0x0
+uint_max == long_min : 0x0
+uint_max == int_max : 0x0
+uint_max == int_min : 0x0
+uint_max == uint_max : 0x1
+uint_max == ulong_max : 0x0
+uint_max == double_min : 0x0
+uint_max == double_max : 0x0
+uint_max == float_min : 0x0
+uint_max == float_max : 0x0
+uint_max != zero_min : 0x1
+uint_max != zero_plus : 0x1
+uint_max != zero : 0x1
+uint_max != NaN : 0x1
+uint_max != Inf_plus : 0x1
+uint_max != Inf_min : 0x1
+uint_max != Inf : 0x1
+uint_max != long_max : 0x1
+uint_max != long_min : 0x1
+uint_max != int_max : 0x1
+uint_max != int_min : 0x1
+uint_max != uint_max : 0x0
+uint_max != ulong_max : 0x1
+uint_max != double_min : 0x1
+uint_max != double_max : 0x1
+uint_max != float_min : 0x1
+uint_max != float_max : 0x1
+uint_max * uint_max * zero_min : 0x0
+uint_max * uint_max * zero_plus : 0x0
+uint_max * uint_max * zero : 0x0
+uint_max * uint_max * NaN : NaN
+uint_max * uint_max * Inf_plus : Inf
+uint_max * uint_max * Inf_min : -Inf
+uint_max * uint_max * Inf : Inf
+uint_max * uint_max * long_max : 0x7fffffffe+24
+uint_max * uint_max * long_min : 0x80000001e+24
+uint_max * uint_max * int_max : 0x7ffffffee+16
+uint_max * uint_max * int_min : 0x80000001e+16
+uint_max * uint_max * uint_max : 0x0fffffffde+16
+uint_max * uint_max * ulong_max : 0x0fffffffee+24
+uint_max * uint_max * double_min : 0x.3fffffff8e-239
+uint_max * uint_max * double_max : Inf
+uint_max * uint_max * float_min : 0x.3fffffff8e-15
+uint_max * uint_max * float_max : 0x0fffffefee+40
+ulong_max / zero_min : -Inf
+ulong_max / zero_plus : Inf
+ulong_max / zero : Inf
+ulong_max / NaN : NaN
+ulong_max / Inf_plus : 0x0
+ulong_max / Inf_min : 0x0
+ulong_max / Inf : 0x0
+ulong_max / long_max : 0x2
+ulong_max / long_min : 0xe
+ulong_max / int_max : 0x200000004
+ulong_max / int_min : 0xee+8
+ulong_max / uint_max : 0x100000001
+ulong_max / ulong_max : 0x1
+ulong_max / double_min : Inf
+ulong_max / double_max : 0x.10000000000001e-239
+ulong_max / float_min : 0x4e+47
+ulong_max / float_max : 0x.1000001000001e-15
+ulong_max * zero_min : 0x0
+ulong_max * zero_plus : 0x0
+ulong_max * zero : 0x0
+ulong_max * NaN : NaN
+ulong_max * Inf_plus : Inf
+ulong_max * Inf_min : -Inf
+ulong_max * Inf : Inf
+ulong_max * long_max : 0x08e+31
+ulong_max * long_min : 0x8e+31
+ulong_max * int_max : 0x7fffffffe+16
+ulong_max * int_min : 0x8e+23
+ulong_max * uint_max : 0x0ffffffffe+16
+ulong_max * ulong_max : 0x1e+32
+ulong_max * double_min : 0x.4e-239
+ulong_max * double_max : Inf
+ulong_max * float_min : 0x.4e-15
+ulong_max * float_max : 0x0ffffffe+42
+ulong_max + zero_min : 0x1e+16
+ulong_max + zero_plus : 0x1e+16
+ulong_max + zero : 0x1e+16
+ulong_max + NaN : NaN
+ulong_max + Inf_plus : Inf
+ulong_max + Inf_min : -Inf
+ulong_max + Inf : Inf
+ulong_max + long_max : 0x18e+15
+ulong_max + long_min : 0x08e+15
+ulong_max + int_max : 0x1000000008e+7
+ulong_max + int_min : 0x0ffffffff8e+7
+ulong_max + uint_max : 0x100000001e+8
+ulong_max + ulong_max : 0x2e+16
+ulong_max + double_min : 0x1e+16
+ulong_max + double_max : 0x0fffffffffffff8e+242
+ulong_max + float_min : 0x1e+16
+ulong_max + float_max : 0x0ffffffe+26
+ulong_max - zero_min : 0x1e+16
+ulong_max - zero_plus : 0x1e+16
+ulong_max - zero : 0x1e+16
+ulong_max - NaN : NaN
+ulong_max - Inf_plus : -Inf
+ulong_max - Inf_min : Inf
+ulong_max - Inf : -Inf
+ulong_max - long_max : 0x08e+15
+ulong_max - long_min : 0x18e+15
+ulong_max - int_max : 0x0ffffffff8e+7
+ulong_max - int_min : 0x1000000008e+7
+ulong_max - uint_max : 0x0ffffffffe+8
+ulong_max - ulong_max : 0x0
+ulong_max - double_min : 0x1e+16
+ulong_max - double_max : 0xf00000000000008e+242
+ulong_max - float_min : 0x1e+16
+ulong_max - float_max : 0xf000001e+26
+ulong_max > zero_min : 0x1
+ulong_max > zero_plus : 0x1
+ulong_max > zero : 0x1
+ulong_max > NaN : 0x0
+ulong_max > Inf_plus : 0x0
+ulong_max > Inf_min : 0x1
+ulong_max > Inf : 0x0
+ulong_max > long_max : 0x1
+ulong_max > long_min : 0x1
+ulong_max > int_max : 0x1
+ulong_max > int_min : 0x1
+ulong_max > uint_max : 0x1
+ulong_max > ulong_max : 0x0
+ulong_max > double_min : 0x1
+ulong_max > double_max : 0x0
+ulong_max > float_min : 0x1
+ulong_max > float_max : 0x0
+ulong_max < zero_min : 0x0
+ulong_max < zero_plus : 0x0
+ulong_max < zero : 0x0
+ulong_max < NaN : 0x0
+ulong_max < Inf_plus : 0x1
+ulong_max < Inf_min : 0x0
+ulong_max < Inf : 0x1
+ulong_max < long_max : 0x0
+ulong_max < long_min : 0x0
+ulong_max < int_max : 0x0
+ulong_max < int_min : 0x0
+ulong_max < uint_max : 0x0
+ulong_max < ulong_max : 0x0
+ulong_max < double_min : 0x0
+ulong_max < double_max : 0x1
+ulong_max < float_min : 0x0
+ulong_max < float_max : 0x1
+ulong_max >= zero_min : 0x1
+ulong_max >= zero_plus : 0x1
+ulong_max >= zero : 0x1
+ulong_max >= NaN : 0x0
+ulong_max >= Inf_plus : 0x0
+ulong_max >= Inf_min : 0x1
+ulong_max >= Inf : 0x0
+ulong_max >= long_max : 0x1
+ulong_max >= long_min : 0x1
+ulong_max >= int_max : 0x1
+ulong_max >= int_min : 0x1
+ulong_max >= uint_max : 0x1
+ulong_max >= ulong_max : 0x1
+ulong_max >= double_min : 0x1
+ulong_max >= double_max : 0x0
+ulong_max >= float_min : 0x1
+ulong_max >= float_max : 0x0
+ulong_max <= zero_min : 0x0
+ulong_max <= zero_plus : 0x0
+ulong_max <= zero : 0x0
+ulong_max <= NaN : 0x0
+ulong_max <= Inf_plus : 0x1
+ulong_max <= Inf_min : 0x0
+ulong_max <= Inf : 0x1
+ulong_max <= long_max : 0x0
+ulong_max <= long_min : 0x0
+ulong_max <= int_max : 0x0
+ulong_max <= int_min : 0x0
+ulong_max <= uint_max : 0x0
+ulong_max <= ulong_max : 0x1
+ulong_max <= double_min : 0x0
+ulong_max <= double_max : 0x1
+ulong_max <= float_min : 0x0
+ulong_max <= float_max : 0x1
+ulong_max == zero_min : 0x0
+ulong_max == zero_plus : 0x0
+ulong_max == zero : 0x0
+ulong_max == NaN : 0x0
+ulong_max == Inf_plus : 0x0
+ulong_max == Inf_min : 0x0
+ulong_max == Inf : 0x0
+ulong_max == long_max : 0x0
+ulong_max == long_min : 0x0
+ulong_max == int_max : 0x0
+ulong_max == int_min : 0x0
+ulong_max == uint_max : 0x0
+ulong_max == ulong_max : 0x1
+ulong_max == double_min : 0x0
+ulong_max == double_max : 0x0
+ulong_max == float_min : 0x0
+ulong_max == float_max : 0x0
+ulong_max != zero_min : 0x1
+ulong_max != zero_plus : 0x1
+ulong_max != zero : 0x1
+ulong_max != NaN : 0x1
+ulong_max != Inf_plus : 0x1
+ulong_max != Inf_min : 0x1
+ulong_max != Inf : 0x1
+ulong_max != long_max : 0x1
+ulong_max != long_min : 0x1
+ulong_max != int_max : 0x1
+ulong_max != int_min : 0x1
+ulong_max != uint_max : 0x1
+ulong_max != ulong_max : 0x0
+ulong_max != double_min : 0x1
+ulong_max != double_max : 0x1
+ulong_max != float_min : 0x1
+ulong_max != float_max : 0x1
+ulong_max * ulong_max * zero_min : 0x0
+ulong_max * ulong_max * zero_plus : 0x0
+ulong_max * ulong_max * zero : 0x0
+ulong_max * ulong_max * NaN : NaN
+ulong_max * ulong_max * Inf_plus : Inf
+ulong_max * ulong_max * Inf_min : -Inf
+ulong_max * ulong_max * Inf : Inf
+ulong_max * ulong_max * long_max : 0x08e+47
+ulong_max * ulong_max * long_min : 0x8e+47
+ulong_max * ulong_max * int_max : 0x7fffffffe+32
+ulong_max * ulong_max * int_min : 0x8e+39
+ulong_max * ulong_max * uint_max : 0x0ffffffffe+32
+ulong_max * ulong_max * ulong_max : 0x1e+48
+ulong_max * ulong_max * double_min : 0x.4e-223
+ulong_max * ulong_max * double_max : Inf
+ulong_max * ulong_max * float_min : 0x4
+ulong_max * ulong_max * float_max : 0x0ffffffe+58
+****************** limits fx_float_double
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x08e+15
+long_min : 0x8e+15
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x1e+16
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+double_min / zero_min : -Inf
+double_min / zero_plus : Inf
+double_min / zero : Inf
+double_min / NaN : NaN
+double_min / Inf_plus : 0x0
+double_min / Inf_min : 0x0
+double_min / Inf : 0x0
+double_min / long_max : 0x0
+double_min / long_min : 0x0
+double_min / int_max : 0x.4e-263
+double_min / int_min : 0x.ce-263
+double_min / uint_max : 0x.2e-263
+double_min / ulong_max : 0x0
+double_min / double_min : 0x1
+double_min / double_max : 0x0
+double_min / float_min : 0x.1e-223
+double_min / float_max : 0x0
+double_min * zero_min : 0x0
+double_min * zero_plus : 0x0
+double_min * zero : 0x0
+double_min * NaN : NaN
+double_min * Inf_plus : Inf
+double_min * Inf_min : -Inf
+double_min * Inf : Inf
+double_min * long_max : 0x.2e-239
+double_min * long_min : 0x.ee-239
+double_min * int_max : 0x.1fffffffce-247
+double_min * int_min : 0x.ee-247
+double_min * uint_max : 0x.3fffffffce-247
+double_min * ulong_max : 0x.4e-239
+double_min * double_min : 0x0
+double_min * double_max : 0x3.ffffffffffffe
+double_min * float_min : 0x0
+double_min * float_max : 0x.3fffffce-223
+double_min + zero_min : 0x.4e-255
+double_min + zero_plus : 0x.4e-255
+double_min + zero : 0x.4e-255
+double_min + NaN : NaN
+double_min + Inf_plus : Inf
+double_min + Inf_min : -Inf
+double_min + Inf : Inf
+double_min + long_max : 0x08e+15
+double_min + long_min : 0x8e+15
+double_min + int_max : 0x7fffffff
+double_min + int_min : 0x8e+7
+double_min + uint_max : 0x0ffffffff
+double_min + ulong_max : 0x1e+16
+double_min + double_min : 0x.08e-254
+double_min + double_max : 0x0fffffffffffff8e+242
+double_min + float_min : 0x.4e-31
+double_min + float_max : 0x0ffffffe+26
+double_min - zero_min : 0x.4e-255
+double_min - zero_plus : 0x.4e-255
+double_min - zero : 0x.4e-255
+double_min - NaN : NaN
+double_min - Inf_plus : -Inf
+double_min - Inf_min : Inf
+double_min - Inf : -Inf
+double_min - long_max : 0x8e+15
+double_min - long_min : 0x08e+15
+double_min - int_max : 0x80000001
+double_min - int_min : 0x08e+7
+double_min - uint_max : 0xf00000001
+double_min - ulong_max : 0xfe+16
+double_min - double_min : 0x0
+double_min - double_max : 0xf00000000000008e+242
+double_min - float_min : 0x.ce-31
+double_min - float_max : 0xf000001e+26
+double_min > zero_min : 0x1
+double_min > zero_plus : 0x1
+double_min > zero : 0x1
+double_min > NaN : 0x0
+double_min > Inf_plus : 0x0
+double_min > Inf_min : 0x1
+double_min > Inf : 0x0
+double_min > long_max : 0x0
+double_min > long_min : 0x1
+double_min > int_max : 0x0
+double_min > int_min : 0x1
+double_min > uint_max : 0x0
+double_min > ulong_max : 0x0
+double_min > double_min : 0x0
+double_min > double_max : 0x0
+double_min > float_min : 0x0
+double_min > float_max : 0x0
+double_min < zero_min : 0x0
+double_min < zero_plus : 0x0
+double_min < zero : 0x0
+double_min < NaN : 0x0
+double_min < Inf_plus : 0x1
+double_min < Inf_min : 0x0
+double_min < Inf : 0x1
+double_min < long_max : 0x1
+double_min < long_min : 0x0
+double_min < int_max : 0x1
+double_min < int_min : 0x0
+double_min < uint_max : 0x1
+double_min < ulong_max : 0x1
+double_min < double_min : 0x0
+double_min < double_max : 0x1
+double_min < float_min : 0x1
+double_min < float_max : 0x1
+double_min >= zero_min : 0x1
+double_min >= zero_plus : 0x1
+double_min >= zero : 0x1
+double_min >= NaN : 0x0
+double_min >= Inf_plus : 0x0
+double_min >= Inf_min : 0x1
+double_min >= Inf : 0x0
+double_min >= long_max : 0x0
+double_min >= long_min : 0x1
+double_min >= int_max : 0x0
+double_min >= int_min : 0x1
+double_min >= uint_max : 0x0
+double_min >= ulong_max : 0x0
+double_min >= double_min : 0x1
+double_min >= double_max : 0x0
+double_min >= float_min : 0x0
+double_min >= float_max : 0x0
+double_min <= zero_min : 0x0
+double_min <= zero_plus : 0x0
+double_min <= zero : 0x0
+double_min <= NaN : 0x0
+double_min <= Inf_plus : 0x1
+double_min <= Inf_min : 0x0
+double_min <= Inf : 0x1
+double_min <= long_max : 0x1
+double_min <= long_min : 0x0
+double_min <= int_max : 0x1
+double_min <= int_min : 0x0
+double_min <= uint_max : 0x1
+double_min <= ulong_max : 0x1
+double_min <= double_min : 0x1
+double_min <= double_max : 0x1
+double_min <= float_min : 0x1
+double_min <= float_max : 0x1
+double_min == zero_min : 0x0
+double_min == zero_plus : 0x0
+double_min == zero : 0x0
+double_min == NaN : 0x0
+double_min == Inf_plus : 0x0
+double_min == Inf_min : 0x0
+double_min == Inf : 0x0
+double_min == long_max : 0x0
+double_min == long_min : 0x0
+double_min == int_max : 0x0
+double_min == int_min : 0x0
+double_min == uint_max : 0x0
+double_min == ulong_max : 0x0
+double_min == double_min : 0x1
+double_min == double_max : 0x0
+double_min == float_min : 0x0
+double_min == float_max : 0x0
+double_min != zero_min : 0x1
+double_min != zero_plus : 0x1
+double_min != zero : 0x1
+double_min != NaN : 0x1
+double_min != Inf_plus : 0x1
+double_min != Inf_min : 0x1
+double_min != Inf : 0x1
+double_min != long_max : 0x1
+double_min != long_min : 0x1
+double_min != int_max : 0x1
+double_min != int_min : 0x1
+double_min != uint_max : 0x1
+double_min != ulong_max : 0x1
+double_min != double_min : 0x0
+double_min != double_max : 0x1
+double_min != float_min : 0x1
+double_min != float_max : 0x1
+double_min * double_min * zero_min : 0x0
+double_min * double_min * zero_plus : 0x0
+double_min * double_min * zero : 0x0
+double_min * double_min * NaN : NaN
+double_min * double_min * Inf_plus : NaN
+double_min * double_min * Inf_min : NaN
+double_min * double_min * Inf : NaN
+double_min * double_min * long_max : 0x0
+double_min * double_min * long_min : 0x0
+double_min * double_min * int_max : 0x0
+double_min * double_min * int_min : 0x0
+double_min * double_min * uint_max : 0x0
+double_min * double_min * ulong_max : 0x0
+double_min * double_min * double_min : 0x0
+double_min * double_min * double_max : 0x0
+double_min * double_min * float_min : 0x0
+double_min * double_min * float_max : 0x0
+double_max / zero_min : -Inf
+double_max / zero_plus : Inf
+double_max / zero : Inf
+double_max / NaN : NaN
+double_max / Inf_plus : 0x0
+double_max / Inf_min : 0x0
+double_max / Inf : 0x0
+double_max / long_max : 0x1fffffffffffffe+227
+double_max / long_min : 0xe0000000000001e+227
+double_max / int_max : 0x200000004e+240
+double_max / int_min : 0xe0000000000001e+235
+double_max / uint_max : 0x100000001e+240
+double_max / ulong_max : 0x0fffffffffffff8e+226
+double_max / double_min : Inf
+double_max / double_max : 0x1
+double_max / float_min : Inf
+double_max / float_max : 0x1000001000001e+212
+double_max * zero_min : 0x0
+double_max * zero_plus : 0x0
+double_max * zero : 0x0
+double_max * NaN : NaN
+double_max * Inf_plus : Inf
+double_max * Inf_min : -Inf
+double_max * Inf : Inf
+double_max * long_max : Inf
+double_max * long_min : -Inf
+double_max * int_max : Inf
+double_max * int_min : -Inf
+double_max * uint_max : Inf
+double_max * ulong_max : Inf
+double_max * double_min : 0x3.ffffffffffffe
+double_max * double_max : Inf
+double_max * float_min : 0x3ffffffffffffee+211
+double_max * float_max : Inf
+double_max + zero_min : 0x0fffffffffffff8e+242
+double_max + zero_plus : 0x0fffffffffffff8e+242
+double_max + zero : 0x0fffffffffffff8e+242
+double_max + NaN : NaN
+double_max + Inf_plus : Inf
+double_max + Inf_min : -Inf
+double_max + Inf : Inf
+double_max + long_max : 0x0fffffffffffff8e+242
+double_max + long_min : 0x0fffffffffffff8e+242
+double_max + int_max : 0x0fffffffffffff8e+242
+double_max + int_min : 0x0fffffffffffff8e+242
+double_max + uint_max : 0x0fffffffffffff8e+242
+double_max + ulong_max : 0x0fffffffffffff8e+242
+double_max + double_min : 0x0fffffffffffff8e+242
+double_max + double_max : Inf
+double_max + float_min : 0x0fffffffffffff8e+242
+double_max + float_max : 0x0fffffffffffff8e+242
+double_max - zero_min : 0x0fffffffffffff8e+242
+double_max - zero_plus : 0x0fffffffffffff8e+242
+double_max - zero : 0x0fffffffffffff8e+242
+double_max - NaN : NaN
+double_max - Inf_plus : -Inf
+double_max - Inf_min : Inf
+double_max - Inf : -Inf
+double_max - long_max : 0x0fffffffffffff8e+242
+double_max - long_min : 0x0fffffffffffff8e+242
+double_max - int_max : 0x0fffffffffffff8e+242
+double_max - int_min : 0x0fffffffffffff8e+242
+double_max - uint_max : 0x0fffffffffffff8e+242
+double_max - ulong_max : 0x0fffffffffffff8e+242
+double_max - double_min : 0x0fffffffffffff8e+242
+double_max - double_max : 0x0
+double_max - float_min : 0x0fffffffffffff8e+242
+double_max - float_max : 0x0fffffffffffff8e+242
+double_max > zero_min : 0x1
+double_max > zero_plus : 0x1
+double_max > zero : 0x1
+double_max > NaN : 0x0
+double_max > Inf_plus : 0x0
+double_max > Inf_min : 0x1
+double_max > Inf : 0x0
+double_max > long_max : 0x1
+double_max > long_min : 0x1
+double_max > int_max : 0x1
+double_max > int_min : 0x1
+double_max > uint_max : 0x1
+double_max > ulong_max : 0x1
+double_max > double_min : 0x1
+double_max > double_max : 0x0
+double_max > float_min : 0x1
+double_max > float_max : 0x1
+double_max < zero_min : 0x0
+double_max < zero_plus : 0x0
+double_max < zero : 0x0
+double_max < NaN : 0x0
+double_max < Inf_plus : 0x1
+double_max < Inf_min : 0x0
+double_max < Inf : 0x1
+double_max < long_max : 0x0
+double_max < long_min : 0x0
+double_max < int_max : 0x0
+double_max < int_min : 0x0
+double_max < uint_max : 0x0
+double_max < ulong_max : 0x0
+double_max < double_min : 0x0
+double_max < double_max : 0x0
+double_max < float_min : 0x0
+double_max < float_max : 0x0
+double_max >= zero_min : 0x1
+double_max >= zero_plus : 0x1
+double_max >= zero : 0x1
+double_max >= NaN : 0x0
+double_max >= Inf_plus : 0x0
+double_max >= Inf_min : 0x1
+double_max >= Inf : 0x0
+double_max >= long_max : 0x1
+double_max >= long_min : 0x1
+double_max >= int_max : 0x1
+double_max >= int_min : 0x1
+double_max >= uint_max : 0x1
+double_max >= ulong_max : 0x1
+double_max >= double_min : 0x1
+double_max >= double_max : 0x1
+double_max >= float_min : 0x1
+double_max >= float_max : 0x1
+double_max <= zero_min : 0x0
+double_max <= zero_plus : 0x0
+double_max <= zero : 0x0
+double_max <= NaN : 0x0
+double_max <= Inf_plus : 0x1
+double_max <= Inf_min : 0x0
+double_max <= Inf : 0x1
+double_max <= long_max : 0x0
+double_max <= long_min : 0x0
+double_max <= int_max : 0x0
+double_max <= int_min : 0x0
+double_max <= uint_max : 0x0
+double_max <= ulong_max : 0x0
+double_max <= double_min : 0x0
+double_max <= double_max : 0x1
+double_max <= float_min : 0x0
+double_max <= float_max : 0x0
+double_max == zero_min : 0x0
+double_max == zero_plus : 0x0
+double_max == zero : 0x0
+double_max == NaN : 0x0
+double_max == Inf_plus : 0x0
+double_max == Inf_min : 0x0
+double_max == Inf : 0x0
+double_max == long_max : 0x0
+double_max == long_min : 0x0
+double_max == int_max : 0x0
+double_max == int_min : 0x0
+double_max == uint_max : 0x0
+double_max == ulong_max : 0x0
+double_max == double_min : 0x0
+double_max == double_max : 0x1
+double_max == float_min : 0x0
+double_max == float_max : 0x0
+double_max != zero_min : 0x1
+double_max != zero_plus : 0x1
+double_max != zero : 0x1
+double_max != NaN : 0x1
+double_max != Inf_plus : 0x1
+double_max != Inf_min : 0x1
+double_max != Inf : 0x1
+double_max != long_max : 0x1
+double_max != long_min : 0x1
+double_max != int_max : 0x1
+double_max != int_min : 0x1
+double_max != uint_max : 0x1
+double_max != ulong_max : 0x1
+double_max != double_min : 0x1
+double_max != double_max : 0x0
+double_max != float_min : 0x1
+double_max != float_max : 0x1
+double_max * double_max * zero_min : NaN
+double_max * double_max * zero_plus : NaN
+double_max * double_max * zero : NaN
+double_max * double_max * NaN : NaN
+double_max * double_max * Inf_plus : Inf
+double_max * double_max * Inf_min : -Inf
+double_max * double_max * Inf : Inf
+double_max * double_max * long_max : Inf
+double_max * double_max * long_min : -Inf
+double_max * double_max * int_max : Inf
+double_max * double_max * int_min : -Inf
+double_max * double_max * uint_max : Inf
+double_max * double_max * ulong_max : Inf
+double_max * double_max * double_min : Inf
+double_max * double_max * double_max : Inf
+double_max * double_max * float_min : Inf
+double_max * double_max * float_max : Inf
+float_min / zero_min : -Inf
+float_min / zero_plus : Inf
+float_min / zero : Inf
+float_min / NaN : NaN
+float_min / Inf_plus : 0x0
+float_min / Inf_min : 0x0
+float_min / Inf : 0x0
+float_min / long_max : 0x.08e-46
+float_min / long_min : 0x.8e-47
+float_min / int_max : 0x.080000001e-38
+float_min / int_min : 0x.8e-39
+float_min / uint_max : 0x.400000004e-39
+float_min / ulong_max : 0x.4e-47
+float_min / double_min : 0x1e+224
+float_min / double_max : 0x0
+float_min / float_min : 0x1
+float_min / float_max : 0x.4000004000004e-63
+float_min * zero_min : 0x0
+float_min * zero_plus : 0x0
+float_min * zero : 0x0
+float_min * NaN : NaN
+float_min * Inf_plus : Inf
+float_min * Inf_min : -Inf
+float_min * Inf : Inf
+float_min * long_max : 0x.2e-15
+float_min * long_min : 0x.ee-15
+float_min * int_max : 0x.1fffffffce-23
+float_min * int_min : 0x.ee-23
+float_min * uint_max : 0x.3fffffffce-23
+float_min * ulong_max : 0x.4e-15
+float_min * double_min : 0x0
+float_min * double_max : 0x3ffffffffffffee+211
+float_min * float_min : 0x.1e-62
+float_min * float_max : 0x3.fffffc
+float_min + zero_min : 0x.4e-31
+float_min + zero_plus : 0x.4e-31
+float_min + zero : 0x.4e-31
+float_min + NaN : NaN
+float_min + Inf_plus : Inf
+float_min + Inf_min : -Inf
+float_min + Inf : Inf
+float_min + long_max : 0x08e+15
+float_min + long_min : 0x8e+15
+float_min + int_max : 0x7fffffff
+float_min + int_min : 0x8e+7
+float_min + uint_max : 0x0ffffffff
+float_min + ulong_max : 0x1e+16
+float_min + double_min : 0x.4e-31
+float_min + double_max : 0x0fffffffffffff8e+242
+float_min + float_min : 0x.08e-30
+float_min + float_max : 0x0ffffffe+26
+float_min - zero_min : 0x.4e-31
+float_min - zero_plus : 0x.4e-31
+float_min - zero : 0x.4e-31
+float_min - NaN : NaN
+float_min - Inf_plus : -Inf
+float_min - Inf_min : Inf
+float_min - Inf : -Inf
+float_min - long_max : 0x8e+15
+float_min - long_min : 0x08e+15
+float_min - int_max : 0x80000001
+float_min - int_min : 0x08e+7
+float_min - uint_max : 0xf00000001
+float_min - ulong_max : 0xfe+16
+float_min - double_min : 0x.4e-31
+float_min - double_max : 0xf00000000000008e+242
+float_min - float_min : 0x0
+float_min - float_max : 0xf000001e+26
+float_min > zero_min : 0x1
+float_min > zero_plus : 0x1
+float_min > zero : 0x1
+float_min > NaN : 0x0
+float_min > Inf_plus : 0x0
+float_min > Inf_min : 0x1
+float_min > Inf : 0x0
+float_min > long_max : 0x0
+float_min > long_min : 0x1
+float_min > int_max : 0x0
+float_min > int_min : 0x1
+float_min > uint_max : 0x0
+float_min > ulong_max : 0x0
+float_min > double_min : 0x1
+float_min > double_max : 0x0
+float_min > float_min : 0x0
+float_min > float_max : 0x0
+float_min < zero_min : 0x0
+float_min < zero_plus : 0x0
+float_min < zero : 0x0
+float_min < NaN : 0x0
+float_min < Inf_plus : 0x1
+float_min < Inf_min : 0x0
+float_min < Inf : 0x1
+float_min < long_max : 0x1
+float_min < long_min : 0x0
+float_min < int_max : 0x1
+float_min < int_min : 0x0
+float_min < uint_max : 0x1
+float_min < ulong_max : 0x1
+float_min < double_min : 0x0
+float_min < double_max : 0x1
+float_min < float_min : 0x0
+float_min < float_max : 0x1
+float_min >= zero_min : 0x1
+float_min >= zero_plus : 0x1
+float_min >= zero : 0x1
+float_min >= NaN : 0x0
+float_min >= Inf_plus : 0x0
+float_min >= Inf_min : 0x1
+float_min >= Inf : 0x0
+float_min >= long_max : 0x0
+float_min >= long_min : 0x1
+float_min >= int_max : 0x0
+float_min >= int_min : 0x1
+float_min >= uint_max : 0x0
+float_min >= ulong_max : 0x0
+float_min >= double_min : 0x1
+float_min >= double_max : 0x0
+float_min >= float_min : 0x1
+float_min >= float_max : 0x0
+float_min <= zero_min : 0x0
+float_min <= zero_plus : 0x0
+float_min <= zero : 0x0
+float_min <= NaN : 0x0
+float_min <= Inf_plus : 0x1
+float_min <= Inf_min : 0x0
+float_min <= Inf : 0x1
+float_min <= long_max : 0x1
+float_min <= long_min : 0x0
+float_min <= int_max : 0x1
+float_min <= int_min : 0x0
+float_min <= uint_max : 0x1
+float_min <= ulong_max : 0x1
+float_min <= double_min : 0x0
+float_min <= double_max : 0x1
+float_min <= float_min : 0x1
+float_min <= float_max : 0x1
+float_min == zero_min : 0x0
+float_min == zero_plus : 0x0
+float_min == zero : 0x0
+float_min == NaN : 0x0
+float_min == Inf_plus : 0x0
+float_min == Inf_min : 0x0
+float_min == Inf : 0x0
+float_min == long_max : 0x0
+float_min == long_min : 0x0
+float_min == int_max : 0x0
+float_min == int_min : 0x0
+float_min == uint_max : 0x0
+float_min == ulong_max : 0x0
+float_min == double_min : 0x0
+float_min == double_max : 0x0
+float_min == float_min : 0x1
+float_min == float_max : 0x0
+float_min != zero_min : 0x1
+float_min != zero_plus : 0x1
+float_min != zero : 0x1
+float_min != NaN : 0x1
+float_min != Inf_plus : 0x1
+float_min != Inf_min : 0x1
+float_min != Inf : 0x1
+float_min != long_max : 0x1
+float_min != long_min : 0x1
+float_min != int_max : 0x1
+float_min != int_min : 0x1
+float_min != uint_max : 0x1
+float_min != ulong_max : 0x1
+float_min != double_min : 0x1
+float_min != double_max : 0x1
+float_min != float_min : 0x0
+float_min != float_max : 0x1
+float_min * float_min * zero_min : 0x0
+float_min * float_min * zero_plus : 0x0
+float_min * float_min * zero : 0x0
+float_min * float_min * NaN : NaN
+float_min * float_min * Inf_plus : Inf
+float_min * float_min * Inf_min : -Inf
+float_min * float_min * Inf : Inf
+float_min * float_min * long_max : 0x.08e-46
+float_min * float_min * long_min : 0x.8e-47
+float_min * float_min * int_max : 0x.7fffffffe-55
+float_min * float_min * int_min : 0x.8e-55
+float_min * float_min * uint_max : 0x.0ffffffffe-54
+float_min * float_min * ulong_max : 0x.1e-46
+float_min * float_min * double_min : 0x0
+float_min * float_min * double_max : 0x0fffffffffffff8e+179
+float_min * float_min * float_min : 0x.4e-94
+float_min * float_min * float_max : 0x.0ffffffe-30
+float_max / zero_min : -Inf
+float_max / zero_plus : Inf
+float_max / zero : Inf
+float_max / NaN : NaN
+float_max / Inf_plus : 0x0
+float_max / Inf_min : 0x0
+float_max / Inf : 0x0
+float_max / long_max : 0x1fffffee+10
+float_max / long_min : 0xe000002e+10
+float_max / int_max : 0x1fffffe04e+16
+float_max / int_min : 0xe000002e+18
+float_max / uint_max : 0x0ffffff01e+16
+float_max / ulong_max : 0x0ffffffe+10
+float_max / double_min : Inf
+float_max / double_max : 0x.0ffffff00000008e-223
+float_max / float_min : 0x3fffffce+57
+float_max / float_max : 0x1
+float_max * zero_min : 0x0
+float_max * zero_plus : 0x0
+float_max * zero : 0x0
+float_max * NaN : NaN
+float_max * Inf_plus : Inf
+float_max * Inf_min : -Inf
+float_max * Inf : Inf
+float_max * long_max : 0x7fffff8e+41
+float_max * long_min : 0x8000008e+41
+float_max * int_max : 0x7fffff7fe+32
+float_max * int_min : 0x8000008e+33
+float_max * uint_max : 0x0fffffeffe+32
+float_max * ulong_max : 0x0ffffffe+42
+float_max * double_min : 0x.3fffffce-223
+float_max * double_max : Inf
+float_max * float_min : 0x3.fffffc
+float_max * float_max : 0x0fffffe000001e+52
+float_max + zero_min : 0x0ffffffe+26
+float_max + zero_plus : 0x0ffffffe+26
+float_max + zero : 0x0ffffffe+26
+float_max + NaN : NaN
+float_max + Inf_plus : Inf
+float_max + Inf_min : -Inf
+float_max + Inf : Inf
+float_max + long_max : 0x0ffffffe+26
+float_max + long_min : 0x0ffffffe+26
+float_max + int_max : 0x0ffffffe+26
+float_max + int_min : 0x0ffffffe+26
+float_max + uint_max : 0x0ffffffe+26
+float_max + ulong_max : 0x0ffffffe+26
+float_max + double_min : 0x0ffffffe+26
+float_max + double_max : 0x0fffffffffffff8e+242
+float_max + float_min : 0x0ffffffe+26
+float_max + float_max : 0x1fffffee+26
+float_max - zero_min : 0x0ffffffe+26
+float_max - zero_plus : 0x0ffffffe+26
+float_max - zero : 0x0ffffffe+26
+float_max - NaN : NaN
+float_max - Inf_plus : -Inf
+float_max - Inf_min : Inf
+float_max - Inf : -Inf
+float_max - long_max : 0x0ffffffe+26
+float_max - long_min : 0x0ffffffe+26
+float_max - int_max : 0x0ffffffe+26
+float_max - int_min : 0x0ffffffe+26
+float_max - uint_max : 0x0ffffffe+26
+float_max - ulong_max : 0x0ffffffe+26
+float_max - double_min : 0x0ffffffe+26
+float_max - double_max : 0xf00000000000008e+242
+float_max - float_min : 0x0ffffffe+26
+float_max - float_max : 0x0
+float_max > zero_min : 0x1
+float_max > zero_plus : 0x1
+float_max > zero : 0x1
+float_max > NaN : 0x0
+float_max > Inf_plus : 0x0
+float_max > Inf_min : 0x1
+float_max > Inf : 0x0
+float_max > long_max : 0x1
+float_max > long_min : 0x1
+float_max > int_max : 0x1
+float_max > int_min : 0x1
+float_max > uint_max : 0x1
+float_max > ulong_max : 0x1
+float_max > double_min : 0x1
+float_max > double_max : 0x0
+float_max > float_min : 0x1
+float_max > float_max : 0x0
+float_max < zero_min : 0x0
+float_max < zero_plus : 0x0
+float_max < zero : 0x0
+float_max < NaN : 0x0
+float_max < Inf_plus : 0x1
+float_max < Inf_min : 0x0
+float_max < Inf : 0x1
+float_max < long_max : 0x0
+float_max < long_min : 0x0
+float_max < int_max : 0x0
+float_max < int_min : 0x0
+float_max < uint_max : 0x0
+float_max < ulong_max : 0x0
+float_max < double_min : 0x0
+float_max < double_max : 0x1
+float_max < float_min : 0x0
+float_max < float_max : 0x0
+float_max >= zero_min : 0x1
+float_max >= zero_plus : 0x1
+float_max >= zero : 0x1
+float_max >= NaN : 0x0
+float_max >= Inf_plus : 0x0
+float_max >= Inf_min : 0x1
+float_max >= Inf : 0x0
+float_max >= long_max : 0x1
+float_max >= long_min : 0x1
+float_max >= int_max : 0x1
+float_max >= int_min : 0x1
+float_max >= uint_max : 0x1
+float_max >= ulong_max : 0x1
+float_max >= double_min : 0x1
+float_max >= double_max : 0x0
+float_max >= float_min : 0x1
+float_max >= float_max : 0x1
+float_max <= zero_min : 0x0
+float_max <= zero_plus : 0x0
+float_max <= zero : 0x0
+float_max <= NaN : 0x0
+float_max <= Inf_plus : 0x1
+float_max <= Inf_min : 0x0
+float_max <= Inf : 0x1
+float_max <= long_max : 0x0
+float_max <= long_min : 0x0
+float_max <= int_max : 0x0
+float_max <= int_min : 0x0
+float_max <= uint_max : 0x0
+float_max <= ulong_max : 0x0
+float_max <= double_min : 0x0
+float_max <= double_max : 0x1
+float_max <= float_min : 0x0
+float_max <= float_max : 0x1
+float_max == zero_min : 0x0
+float_max == zero_plus : 0x0
+float_max == zero : 0x0
+float_max == NaN : 0x0
+float_max == Inf_plus : 0x0
+float_max == Inf_min : 0x0
+float_max == Inf : 0x0
+float_max == long_max : 0x0
+float_max == long_min : 0x0
+float_max == int_max : 0x0
+float_max == int_min : 0x0
+float_max == uint_max : 0x0
+float_max == ulong_max : 0x0
+float_max == double_min : 0x0
+float_max == double_max : 0x0
+float_max == float_min : 0x0
+float_max == float_max : 0x1
+float_max != zero_min : 0x1
+float_max != zero_plus : 0x1
+float_max != zero : 0x1
+float_max != NaN : 0x1
+float_max != Inf_plus : 0x1
+float_max != Inf_min : 0x1
+float_max != Inf : 0x1
+float_max != long_max : 0x1
+float_max != long_min : 0x1
+float_max != int_max : 0x1
+float_max != int_min : 0x1
+float_max != uint_max : 0x1
+float_max != ulong_max : 0x1
+float_max != double_min : 0x1
+float_max != double_max : 0x1
+float_max != float_min : 0x1
+float_max != float_max : 0x0
+float_max * float_max * zero_min : 0x0
+float_max * float_max * zero_plus : 0x0
+float_max * float_max * zero : 0x0
+float_max * float_max * NaN : NaN
+float_max * float_max * Inf_plus : Inf
+float_max * float_max * Inf_min : -Inf
+float_max * float_max * Inf : Inf
+float_max * float_max * long_max : 0x7fffff0000008e+67
+float_max * float_max * long_min : 0x800000ffffff8e+67
+float_max * float_max * int_max : 0x7ffffeff00008e+59
+float_max * float_max * int_min : 0x800000ffffff8e+59
+float_max * float_max * uint_max : 0x0fffffdff0001e+60
+float_max * float_max * ulong_max : 0x0fffffe000001e+68
+float_max * float_max * double_min : 0x.3fffff8000004e-191
+float_max * float_max * double_max : Inf
+float_max * float_max * float_min : 0x3fffff8000004e+20
+float_max * float_max * float_max : 0x0fffffd000003e+84
+double_min / NaN : NaN
+****************** limits fx_ufix
+****************** limits fx_ufix_zero
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x000000000
+long_min : 0x000000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x000000000
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_Inf
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x000000000
+long_min : 0x000000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x000000000
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_long
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x000000000
+long_min : 0x000000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x000000000
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_double
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x000000000
+long_min : 0x000000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x000000000
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_fix
+****************** limits fx_fix_zero
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x00000000
+long_min : 0x00000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0x00000000
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_Inf
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x00000000
+long_min : 0x00000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0x00000000
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_long
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x00000000
+long_min : 0x00000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0x00000000
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_double
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x00000000
+long_min : 0x00000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0x00000000
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fixed<8, 5>
+****************** limits fx_fixed<8, 5>_zero
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_Inf
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_long
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_double
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>
+****************** limits fx_ufixed<8, 5>_zero
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_Inf
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_long
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_double
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.linuxaarch64 b/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.linuxaarch64
new file mode 100644
index 000000000..ab2c16dd6
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.linuxaarch64
@@ -0,0 +1,3482 @@
+SystemC Simulation
+****************** limits fx_float_zero
+****************** limits fx_float_inf
+****************** limits fx_float
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x08e+15
+long_min : 0x8e+15
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x1e+16
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+zero_min / zero_min : NaN
+zero_min / zero_plus : NaN
+zero_min / zero : NaN
+zero_min / NaN : NaN
+zero_min / Inf_plus : 0x0
+zero_min / Inf_min : 0x0
+zero_min / Inf : 0x0
+zero_min / long_max : 0x0
+zero_min / long_min : 0x0
+zero_min / int_max : 0x0
+zero_min / int_min : 0x0
+zero_min / uint_max : 0x0
+zero_min / ulong_max : 0x0
+zero_min / double_min : 0x0
+zero_min / double_max : 0x0
+zero_min / float_min : 0x0
+zero_min / float_max : 0x0
+zero_min * zero_min : 0x0
+zero_min * zero_plus : 0x0
+zero_min * zero : 0x0
+zero_min * NaN : NaN
+zero_min * Inf_plus : NaN
+zero_min * Inf_min : NaN
+zero_min * Inf : NaN
+zero_min * long_max : 0x0
+zero_min * long_min : 0x0
+zero_min * int_max : 0x0
+zero_min * int_min : 0x0
+zero_min * uint_max : 0x0
+zero_min * ulong_max : 0x0
+zero_min * double_min : 0x0
+zero_min * double_max : 0x0
+zero_min * float_min : 0x0
+zero_min * float_max : 0x0
+zero_min + zero_min : 0x0
+zero_min + zero_plus : 0x0
+zero_min + zero : 0x0
+zero_min + NaN : NaN
+zero_min + Inf_plus : Inf
+zero_min + Inf_min : -Inf
+zero_min + Inf : Inf
+zero_min + long_max : 0x08e+15
+zero_min + long_min : 0x8e+15
+zero_min + int_max : 0x7fffffff
+zero_min + int_min : 0x8e+7
+zero_min + uint_max : 0x0ffffffff
+zero_min + ulong_max : 0x1e+16
+zero_min + double_min : 0x.4e-255
+zero_min + double_max : 0x0fffffffffffff8e+242
+zero_min + float_min : 0x.4e-31
+zero_min + float_max : 0x0ffffffe+26
+zero_min - zero_min : 0x0
+zero_min - zero_plus : 0x0
+zero_min - zero : 0x0
+zero_min - NaN : NaN
+zero_min - Inf_plus : -Inf
+zero_min - Inf_min : Inf
+zero_min - Inf : -Inf
+zero_min - long_max : 0x8e+15
+zero_min - long_min : 0x08e+15
+zero_min - int_max : 0x80000001
+zero_min - int_min : 0x08e+7
+zero_min - uint_max : 0xf00000001
+zero_min - ulong_max : 0xfe+16
+zero_min - double_min : 0x.ce-255
+zero_min - double_max : 0xf00000000000008e+242
+zero_min - float_min : 0x.ce-31
+zero_min - float_max : 0xf000001e+26
+zero_min > zero_min : 0x0
+zero_min > zero_plus : 0x0
+zero_min > zero : 0x0
+zero_min > NaN : 0x0
+zero_min > Inf_plus : 0x0
+zero_min > Inf_min : 0x1
+zero_min > Inf : 0x0
+zero_min > long_max : 0x0
+zero_min > long_min : 0x1
+zero_min > int_max : 0x0
+zero_min > int_min : 0x1
+zero_min > uint_max : 0x0
+zero_min > ulong_max : 0x0
+zero_min > double_min : 0x0
+zero_min > double_max : 0x0
+zero_min > float_min : 0x0
+zero_min > float_max : 0x0
+zero_min < zero_min : 0x0
+zero_min < zero_plus : 0x0
+zero_min < zero : 0x0
+zero_min < NaN : 0x0
+zero_min < Inf_plus : 0x1
+zero_min < Inf_min : 0x0
+zero_min < Inf : 0x1
+zero_min < long_max : 0x1
+zero_min < long_min : 0x0
+zero_min < int_max : 0x1
+zero_min < int_min : 0x0
+zero_min < uint_max : 0x1
+zero_min < ulong_max : 0x1
+zero_min < double_min : 0x1
+zero_min < double_max : 0x1
+zero_min < float_min : 0x1
+zero_min < float_max : 0x1
+zero_min >= zero_min : 0x1
+zero_min >= zero_plus : 0x1
+zero_min >= zero : 0x1
+zero_min >= NaN : 0x0
+zero_min >= Inf_plus : 0x0
+zero_min >= Inf_min : 0x1
+zero_min >= Inf : 0x0
+zero_min >= long_max : 0x0
+zero_min >= long_min : 0x1
+zero_min >= int_max : 0x0
+zero_min >= int_min : 0x1
+zero_min >= uint_max : 0x0
+zero_min >= ulong_max : 0x0
+zero_min >= double_min : 0x0
+zero_min >= double_max : 0x0
+zero_min >= float_min : 0x0
+zero_min >= float_max : 0x0
+zero_min <= zero_min : 0x1
+zero_min <= zero_plus : 0x1
+zero_min <= zero : 0x1
+zero_min <= NaN : 0x0
+zero_min <= Inf_plus : 0x1
+zero_min <= Inf_min : 0x0
+zero_min <= Inf : 0x1
+zero_min <= long_max : 0x1
+zero_min <= long_min : 0x0
+zero_min <= int_max : 0x1
+zero_min <= int_min : 0x0
+zero_min <= uint_max : 0x1
+zero_min <= ulong_max : 0x1
+zero_min <= double_min : 0x1
+zero_min <= double_max : 0x1
+zero_min <= float_min : 0x1
+zero_min <= float_max : 0x1
+zero_min == zero_min : 0x1
+zero_min == zero_plus : 0x1
+zero_min == zero : 0x1
+zero_min == NaN : 0x0
+zero_min == Inf_plus : 0x0
+zero_min == Inf_min : 0x0
+zero_min == Inf : 0x0
+zero_min == long_max : 0x0
+zero_min == long_min : 0x0
+zero_min == int_max : 0x0
+zero_min == int_min : 0x0
+zero_min == uint_max : 0x0
+zero_min == ulong_max : 0x0
+zero_min == double_min : 0x0
+zero_min == double_max : 0x0
+zero_min == float_min : 0x0
+zero_min == float_max : 0x0
+zero_min != zero_min : 0x0
+zero_min != zero_plus : 0x0
+zero_min != zero : 0x0
+zero_min != NaN : 0x1
+zero_min != Inf_plus : 0x1
+zero_min != Inf_min : 0x1
+zero_min != Inf : 0x1
+zero_min != long_max : 0x1
+zero_min != long_min : 0x1
+zero_min != int_max : 0x1
+zero_min != int_min : 0x1
+zero_min != uint_max : 0x1
+zero_min != ulong_max : 0x1
+zero_min != double_min : 0x1
+zero_min != double_max : 0x1
+zero_min != float_min : 0x1
+zero_min != float_max : 0x1
+zero_min * zero_min * zero_min : 0x0
+zero_min * zero_min * zero_plus : 0x0
+zero_min * zero_min * zero : 0x0
+zero_min * zero_min * NaN : NaN
+zero_min * zero_min * Inf_plus : NaN
+zero_min * zero_min * Inf_min : NaN
+zero_min * zero_min * Inf : NaN
+zero_min * zero_min * long_max : 0x0
+zero_min * zero_min * long_min : 0x0
+zero_min * zero_min * int_max : 0x0
+zero_min * zero_min * int_min : 0x0
+zero_min * zero_min * uint_max : 0x0
+zero_min * zero_min * ulong_max : 0x0
+zero_min * zero_min * double_min : 0x0
+zero_min * zero_min * double_max : 0x0
+zero_min * zero_min * float_min : 0x0
+zero_min * zero_min * float_max : 0x0
+zero_plus / zero_min : NaN
+zero_plus / zero_plus : NaN
+zero_plus / zero : NaN
+zero_plus / NaN : NaN
+zero_plus / Inf_plus : 0x0
+zero_plus / Inf_min : 0x0
+zero_plus / Inf : 0x0
+zero_plus / long_max : 0x0
+zero_plus / long_min : 0x0
+zero_plus / int_max : 0x0
+zero_plus / int_min : 0x0
+zero_plus / uint_max : 0x0
+zero_plus / ulong_max : 0x0
+zero_plus / double_min : 0x0
+zero_plus / double_max : 0x0
+zero_plus / float_min : 0x0
+zero_plus / float_max : 0x0
+zero_plus * zero_min : 0x0
+zero_plus * zero_plus : 0x0
+zero_plus * zero : 0x0
+zero_plus * NaN : NaN
+zero_plus * Inf_plus : NaN
+zero_plus * Inf_min : NaN
+zero_plus * Inf : NaN
+zero_plus * long_max : 0x0
+zero_plus * long_min : 0x0
+zero_plus * int_max : 0x0
+zero_plus * int_min : 0x0
+zero_plus * uint_max : 0x0
+zero_plus * ulong_max : 0x0
+zero_plus * double_min : 0x0
+zero_plus * double_max : 0x0
+zero_plus * float_min : 0x0
+zero_plus * float_max : 0x0
+zero_plus + zero_min : 0x0
+zero_plus + zero_plus : 0x0
+zero_plus + zero : 0x0
+zero_plus + NaN : NaN
+zero_plus + Inf_plus : Inf
+zero_plus + Inf_min : -Inf
+zero_plus + Inf : Inf
+zero_plus + long_max : 0x08e+15
+zero_plus + long_min : 0x8e+15
+zero_plus + int_max : 0x7fffffff
+zero_plus + int_min : 0x8e+7
+zero_plus + uint_max : 0x0ffffffff
+zero_plus + ulong_max : 0x1e+16
+zero_plus + double_min : 0x.4e-255
+zero_plus + double_max : 0x0fffffffffffff8e+242
+zero_plus + float_min : 0x.4e-31
+zero_plus + float_max : 0x0ffffffe+26
+zero_plus - zero_min : 0x0
+zero_plus - zero_plus : 0x0
+zero_plus - zero : 0x0
+zero_plus - NaN : NaN
+zero_plus - Inf_plus : -Inf
+zero_plus - Inf_min : Inf
+zero_plus - Inf : -Inf
+zero_plus - long_max : 0x8e+15
+zero_plus - long_min : 0x08e+15
+zero_plus - int_max : 0x80000001
+zero_plus - int_min : 0x08e+7
+zero_plus - uint_max : 0xf00000001
+zero_plus - ulong_max : 0xfe+16
+zero_plus - double_min : 0x.ce-255
+zero_plus - double_max : 0xf00000000000008e+242
+zero_plus - float_min : 0x.ce-31
+zero_plus - float_max : 0xf000001e+26
+zero_plus > zero_min : 0x0
+zero_plus > zero_plus : 0x0
+zero_plus > zero : 0x0
+zero_plus > NaN : 0x0
+zero_plus > Inf_plus : 0x0
+zero_plus > Inf_min : 0x1
+zero_plus > Inf : 0x0
+zero_plus > long_max : 0x0
+zero_plus > long_min : 0x1
+zero_plus > int_max : 0x0
+zero_plus > int_min : 0x1
+zero_plus > uint_max : 0x0
+zero_plus > ulong_max : 0x0
+zero_plus > double_min : 0x0
+zero_plus > double_max : 0x0
+zero_plus > float_min : 0x0
+zero_plus > float_max : 0x0
+zero_plus < zero_min : 0x0
+zero_plus < zero_plus : 0x0
+zero_plus < zero : 0x0
+zero_plus < NaN : 0x0
+zero_plus < Inf_plus : 0x1
+zero_plus < Inf_min : 0x0
+zero_plus < Inf : 0x1
+zero_plus < long_max : 0x1
+zero_plus < long_min : 0x0
+zero_plus < int_max : 0x1
+zero_plus < int_min : 0x0
+zero_plus < uint_max : 0x1
+zero_plus < ulong_max : 0x1
+zero_plus < double_min : 0x1
+zero_plus < double_max : 0x1
+zero_plus < float_min : 0x1
+zero_plus < float_max : 0x1
+zero_plus >= zero_min : 0x1
+zero_plus >= zero_plus : 0x1
+zero_plus >= zero : 0x1
+zero_plus >= NaN : 0x0
+zero_plus >= Inf_plus : 0x0
+zero_plus >= Inf_min : 0x1
+zero_plus >= Inf : 0x0
+zero_plus >= long_max : 0x0
+zero_plus >= long_min : 0x1
+zero_plus >= int_max : 0x0
+zero_plus >= int_min : 0x1
+zero_plus >= uint_max : 0x0
+zero_plus >= ulong_max : 0x0
+zero_plus >= double_min : 0x0
+zero_plus >= double_max : 0x0
+zero_plus >= float_min : 0x0
+zero_plus >= float_max : 0x0
+zero_plus <= zero_min : 0x1
+zero_plus <= zero_plus : 0x1
+zero_plus <= zero : 0x1
+zero_plus <= NaN : 0x0
+zero_plus <= Inf_plus : 0x1
+zero_plus <= Inf_min : 0x0
+zero_plus <= Inf : 0x1
+zero_plus <= long_max : 0x1
+zero_plus <= long_min : 0x0
+zero_plus <= int_max : 0x1
+zero_plus <= int_min : 0x0
+zero_plus <= uint_max : 0x1
+zero_plus <= ulong_max : 0x1
+zero_plus <= double_min : 0x1
+zero_plus <= double_max : 0x1
+zero_plus <= float_min : 0x1
+zero_plus <= float_max : 0x1
+zero_plus == zero_min : 0x1
+zero_plus == zero_plus : 0x1
+zero_plus == zero : 0x1
+zero_plus == NaN : 0x0
+zero_plus == Inf_plus : 0x0
+zero_plus == Inf_min : 0x0
+zero_plus == Inf : 0x0
+zero_plus == long_max : 0x0
+zero_plus == long_min : 0x0
+zero_plus == int_max : 0x0
+zero_plus == int_min : 0x0
+zero_plus == uint_max : 0x0
+zero_plus == ulong_max : 0x0
+zero_plus == double_min : 0x0
+zero_plus == double_max : 0x0
+zero_plus == float_min : 0x0
+zero_plus == float_max : 0x0
+zero_plus != zero_min : 0x0
+zero_plus != zero_plus : 0x0
+zero_plus != zero : 0x0
+zero_plus != NaN : 0x1
+zero_plus != Inf_plus : 0x1
+zero_plus != Inf_min : 0x1
+zero_plus != Inf : 0x1
+zero_plus != long_max : 0x1
+zero_plus != long_min : 0x1
+zero_plus != int_max : 0x1
+zero_plus != int_min : 0x1
+zero_plus != uint_max : 0x1
+zero_plus != ulong_max : 0x1
+zero_plus != double_min : 0x1
+zero_plus != double_max : 0x1
+zero_plus != float_min : 0x1
+zero_plus != float_max : 0x1
+zero_plus * zero_plus * zero_min : 0x0
+zero_plus * zero_plus * zero_plus : 0x0
+zero_plus * zero_plus * zero : 0x0
+zero_plus * zero_plus * NaN : NaN
+zero_plus * zero_plus * Inf_plus : NaN
+zero_plus * zero_plus * Inf_min : NaN
+zero_plus * zero_plus * Inf : NaN
+zero_plus * zero_plus * long_max : 0x0
+zero_plus * zero_plus * long_min : 0x0
+zero_plus * zero_plus * int_max : 0x0
+zero_plus * zero_plus * int_min : 0x0
+zero_plus * zero_plus * uint_max : 0x0
+zero_plus * zero_plus * ulong_max : 0x0
+zero_plus * zero_plus * double_min : 0x0
+zero_plus * zero_plus * double_max : 0x0
+zero_plus * zero_plus * float_min : 0x0
+zero_plus * zero_plus * float_max : 0x0
+zero / zero_min : NaN
+zero / zero_plus : NaN
+zero / zero : NaN
+zero / NaN : NaN
+zero / Inf_plus : 0x0
+zero / Inf_min : 0x0
+zero / Inf : 0x0
+zero / long_max : 0x0
+zero / long_min : 0x0
+zero / int_max : 0x0
+zero / int_min : 0x0
+zero / uint_max : 0x0
+zero / ulong_max : 0x0
+zero / double_min : 0x0
+zero / double_max : 0x0
+zero / float_min : 0x0
+zero / float_max : 0x0
+zero * zero_min : 0x0
+zero * zero_plus : 0x0
+zero * zero : 0x0
+zero * NaN : NaN
+zero * Inf_plus : NaN
+zero * Inf_min : NaN
+zero * Inf : NaN
+zero * long_max : 0x0
+zero * long_min : 0x0
+zero * int_max : 0x0
+zero * int_min : 0x0
+zero * uint_max : 0x0
+zero * ulong_max : 0x0
+zero * double_min : 0x0
+zero * double_max : 0x0
+zero * float_min : 0x0
+zero * float_max : 0x0
+zero + zero_min : 0x0
+zero + zero_plus : 0x0
+zero + zero : 0x0
+zero + NaN : NaN
+zero + Inf_plus : Inf
+zero + Inf_min : -Inf
+zero + Inf : Inf
+zero + long_max : 0x08e+15
+zero + long_min : 0x8e+15
+zero + int_max : 0x7fffffff
+zero + int_min : 0x8e+7
+zero + uint_max : 0x0ffffffff
+zero + ulong_max : 0x1e+16
+zero + double_min : 0x.4e-255
+zero + double_max : 0x0fffffffffffff8e+242
+zero + float_min : 0x.4e-31
+zero + float_max : 0x0ffffffe+26
+zero - zero_min : 0x0
+zero - zero_plus : 0x0
+zero - zero : 0x0
+zero - NaN : NaN
+zero - Inf_plus : -Inf
+zero - Inf_min : Inf
+zero - Inf : -Inf
+zero - long_max : 0x8e+15
+zero - long_min : 0x08e+15
+zero - int_max : 0x80000001
+zero - int_min : 0x08e+7
+zero - uint_max : 0xf00000001
+zero - ulong_max : 0xfe+16
+zero - double_min : 0x.ce-255
+zero - double_max : 0xf00000000000008e+242
+zero - float_min : 0x.ce-31
+zero - float_max : 0xf000001e+26
+zero > zero_min : 0x0
+zero > zero_plus : 0x0
+zero > zero : 0x0
+zero > NaN : 0x0
+zero > Inf_plus : 0x0
+zero > Inf_min : 0x1
+zero > Inf : 0x0
+zero > long_max : 0x0
+zero > long_min : 0x1
+zero > int_max : 0x0
+zero > int_min : 0x1
+zero > uint_max : 0x0
+zero > ulong_max : 0x0
+zero > double_min : 0x0
+zero > double_max : 0x0
+zero > float_min : 0x0
+zero > float_max : 0x0
+zero < zero_min : 0x0
+zero < zero_plus : 0x0
+zero < zero : 0x0
+zero < NaN : 0x0
+zero < Inf_plus : 0x1
+zero < Inf_min : 0x0
+zero < Inf : 0x1
+zero < long_max : 0x1
+zero < long_min : 0x0
+zero < int_max : 0x1
+zero < int_min : 0x0
+zero < uint_max : 0x1
+zero < ulong_max : 0x1
+zero < double_min : 0x1
+zero < double_max : 0x1
+zero < float_min : 0x1
+zero < float_max : 0x1
+zero >= zero_min : 0x1
+zero >= zero_plus : 0x1
+zero >= zero : 0x1
+zero >= NaN : 0x0
+zero >= Inf_plus : 0x0
+zero >= Inf_min : 0x1
+zero >= Inf : 0x0
+zero >= long_max : 0x0
+zero >= long_min : 0x1
+zero >= int_max : 0x0
+zero >= int_min : 0x1
+zero >= uint_max : 0x0
+zero >= ulong_max : 0x0
+zero >= double_min : 0x0
+zero >= double_max : 0x0
+zero >= float_min : 0x0
+zero >= float_max : 0x0
+zero <= zero_min : 0x1
+zero <= zero_plus : 0x1
+zero <= zero : 0x1
+zero <= NaN : 0x0
+zero <= Inf_plus : 0x1
+zero <= Inf_min : 0x0
+zero <= Inf : 0x1
+zero <= long_max : 0x1
+zero <= long_min : 0x0
+zero <= int_max : 0x1
+zero <= int_min : 0x0
+zero <= uint_max : 0x1
+zero <= ulong_max : 0x1
+zero <= double_min : 0x1
+zero <= double_max : 0x1
+zero <= float_min : 0x1
+zero <= float_max : 0x1
+zero == zero_min : 0x1
+zero == zero_plus : 0x1
+zero == zero : 0x1
+zero == NaN : 0x0
+zero == Inf_plus : 0x0
+zero == Inf_min : 0x0
+zero == Inf : 0x0
+zero == long_max : 0x0
+zero == long_min : 0x0
+zero == int_max : 0x0
+zero == int_min : 0x0
+zero == uint_max : 0x0
+zero == ulong_max : 0x0
+zero == double_min : 0x0
+zero == double_max : 0x0
+zero == float_min : 0x0
+zero == float_max : 0x0
+zero != zero_min : 0x0
+zero != zero_plus : 0x0
+zero != zero : 0x0
+zero != NaN : 0x1
+zero != Inf_plus : 0x1
+zero != Inf_min : 0x1
+zero != Inf : 0x1
+zero != long_max : 0x1
+zero != long_min : 0x1
+zero != int_max : 0x1
+zero != int_min : 0x1
+zero != uint_max : 0x1
+zero != ulong_max : 0x1
+zero != double_min : 0x1
+zero != double_max : 0x1
+zero != float_min : 0x1
+zero != float_max : 0x1
+zero * zero * zero_min : 0x0
+zero * zero * zero_plus : 0x0
+zero * zero * zero : 0x0
+zero * zero * NaN : NaN
+zero * zero * Inf_plus : NaN
+zero * zero * Inf_min : NaN
+zero * zero * Inf : NaN
+zero * zero * long_max : 0x0
+zero * zero * long_min : 0x0
+zero * zero * int_max : 0x0
+zero * zero * int_min : 0x0
+zero * zero * uint_max : 0x0
+zero * zero * ulong_max : 0x0
+zero * zero * double_min : 0x0
+zero * zero * double_max : 0x0
+zero * zero * float_min : 0x0
+zero * zero * float_max : 0x0
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x08e+15
+long_min : 0x8e+15
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x1e+16
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+NaN / zero_min : NaN
+NaN / zero_plus : NaN
+NaN / zero : NaN
+NaN / NaN : NaN
+NaN / Inf_plus : NaN
+NaN / Inf_min : NaN
+NaN / Inf : NaN
+NaN / long_max : NaN
+NaN / long_min : NaN
+NaN / int_max : NaN
+NaN / int_min : NaN
+NaN / uint_max : NaN
+NaN / ulong_max : NaN
+NaN / double_min : NaN
+NaN / double_max : NaN
+NaN / float_min : NaN
+NaN / float_max : NaN
+NaN * zero_min : NaN
+NaN * zero_plus : NaN
+NaN * zero : NaN
+NaN * NaN : NaN
+NaN * Inf_plus : NaN
+NaN * Inf_min : NaN
+NaN * Inf : NaN
+NaN * long_max : NaN
+NaN * long_min : NaN
+NaN * int_max : NaN
+NaN * int_min : NaN
+NaN * uint_max : NaN
+NaN * ulong_max : NaN
+NaN * double_min : NaN
+NaN * double_max : NaN
+NaN * float_min : NaN
+NaN * float_max : NaN
+NaN + zero_min : NaN
+NaN + zero_plus : NaN
+NaN + zero : NaN
+NaN + NaN : NaN
+NaN + Inf_plus : NaN
+NaN + Inf_min : NaN
+NaN + Inf : NaN
+NaN + long_max : NaN
+NaN + long_min : NaN
+NaN + int_max : NaN
+NaN + int_min : NaN
+NaN + uint_max : NaN
+NaN + ulong_max : NaN
+NaN + double_min : NaN
+NaN + double_max : NaN
+NaN + float_min : NaN
+NaN + float_max : NaN
+NaN - zero_min : NaN
+NaN - zero_plus : NaN
+NaN - zero : NaN
+NaN - NaN : NaN
+NaN - Inf_plus : NaN
+NaN - Inf_min : NaN
+NaN - Inf : NaN
+NaN - long_max : NaN
+NaN - long_min : NaN
+NaN - int_max : NaN
+NaN - int_min : NaN
+NaN - uint_max : NaN
+NaN - ulong_max : NaN
+NaN - double_min : NaN
+NaN - double_max : NaN
+NaN - float_min : NaN
+NaN - float_max : NaN
+NaN > zero_min : 0x0
+NaN > zero_plus : 0x0
+NaN > zero : 0x0
+NaN > NaN : 0x0
+NaN > Inf_plus : 0x0
+NaN > Inf_min : 0x0
+NaN > Inf : 0x0
+NaN > long_max : 0x0
+NaN > long_min : 0x0
+NaN > int_max : 0x0
+NaN > int_min : 0x0
+NaN > uint_max : 0x0
+NaN > ulong_max : 0x0
+NaN > double_min : 0x0
+NaN > double_max : 0x0
+NaN > float_min : 0x0
+NaN > float_max : 0x0
+NaN < zero_min : 0x0
+NaN < zero_plus : 0x0
+NaN < zero : 0x0
+NaN < NaN : 0x0
+NaN < Inf_plus : 0x0
+NaN < Inf_min : 0x0
+NaN < Inf : 0x0
+NaN < long_max : 0x0
+NaN < long_min : 0x0
+NaN < int_max : 0x0
+NaN < int_min : 0x0
+NaN < uint_max : 0x0
+NaN < ulong_max : 0x0
+NaN < double_min : 0x0
+NaN < double_max : 0x0
+NaN < float_min : 0x0
+NaN < float_max : 0x0
+NaN >= zero_min : 0x0
+NaN >= zero_plus : 0x0
+NaN >= zero : 0x0
+NaN >= NaN : 0x0
+NaN >= Inf_plus : 0x0
+NaN >= Inf_min : 0x0
+NaN >= Inf : 0x0
+NaN >= long_max : 0x0
+NaN >= long_min : 0x0
+NaN >= int_max : 0x0
+NaN >= int_min : 0x0
+NaN >= uint_max : 0x0
+NaN >= ulong_max : 0x0
+NaN >= double_min : 0x0
+NaN >= double_max : 0x0
+NaN >= float_min : 0x0
+NaN >= float_max : 0x0
+NaN <= zero_min : 0x0
+NaN <= zero_plus : 0x0
+NaN <= zero : 0x0
+NaN <= NaN : 0x0
+NaN <= Inf_plus : 0x0
+NaN <= Inf_min : 0x0
+NaN <= Inf : 0x0
+NaN <= long_max : 0x0
+NaN <= long_min : 0x0
+NaN <= int_max : 0x0
+NaN <= int_min : 0x0
+NaN <= uint_max : 0x0
+NaN <= ulong_max : 0x0
+NaN <= double_min : 0x0
+NaN <= double_max : 0x0
+NaN <= float_min : 0x0
+NaN <= float_max : 0x0
+NaN == zero_min : 0x0
+NaN == zero_plus : 0x0
+NaN == zero : 0x0
+NaN == NaN : 0x0
+NaN == Inf_plus : 0x0
+NaN == Inf_min : 0x0
+NaN == Inf : 0x0
+NaN == long_max : 0x0
+NaN == long_min : 0x0
+NaN == int_max : 0x0
+NaN == int_min : 0x0
+NaN == uint_max : 0x0
+NaN == ulong_max : 0x0
+NaN == double_min : 0x0
+NaN == double_max : 0x0
+NaN == float_min : 0x0
+NaN == float_max : 0x0
+NaN != zero_min : 0x1
+NaN != zero_plus : 0x1
+NaN != zero : 0x1
+NaN != NaN : 0x1
+NaN != Inf_plus : 0x1
+NaN != Inf_min : 0x1
+NaN != Inf : 0x1
+NaN != long_max : 0x1
+NaN != long_min : 0x1
+NaN != int_max : 0x1
+NaN != int_min : 0x1
+NaN != uint_max : 0x1
+NaN != ulong_max : 0x1
+NaN != double_min : 0x1
+NaN != double_max : 0x1
+NaN != float_min : 0x1
+NaN != float_max : 0x1
+NaN * NaN * zero_min : NaN
+NaN * NaN * zero_plus : NaN
+NaN * NaN * zero : NaN
+NaN * NaN * NaN : NaN
+NaN * NaN * Inf_plus : NaN
+NaN * NaN * Inf_min : NaN
+NaN * NaN * Inf : NaN
+NaN * NaN * long_max : NaN
+NaN * NaN * long_min : NaN
+NaN * NaN * int_max : NaN
+NaN * NaN * int_min : NaN
+NaN * NaN * uint_max : NaN
+NaN * NaN * ulong_max : NaN
+NaN * NaN * double_min : NaN
+NaN * NaN * double_max : NaN
+NaN * NaN * float_min : NaN
+NaN * NaN * float_max : NaN
+Inf_plus / zero_min : -Inf
+Inf_plus / zero_plus : Inf
+Inf_plus / zero : Inf
+Inf_plus / NaN : NaN
+Inf_plus / Inf_plus : NaN
+Inf_plus / Inf_min : NaN
+Inf_plus / Inf : NaN
+Inf_plus / long_max : Inf
+Inf_plus / long_min : -Inf
+Inf_plus / int_max : Inf
+Inf_plus / int_min : -Inf
+Inf_plus / uint_max : Inf
+Inf_plus / ulong_max : Inf
+Inf_plus / double_min : Inf
+Inf_plus / double_max : Inf
+Inf_plus / float_min : Inf
+Inf_plus / float_max : Inf
+Inf_plus * zero_min : NaN
+Inf_plus * zero_plus : NaN
+Inf_plus * zero : NaN
+Inf_plus * NaN : NaN
+Inf_plus * Inf_plus : Inf
+Inf_plus * Inf_min : -Inf
+Inf_plus * Inf : Inf
+Inf_plus * long_max : Inf
+Inf_plus * long_min : -Inf
+Inf_plus * int_max : Inf
+Inf_plus * int_min : -Inf
+Inf_plus * uint_max : Inf
+Inf_plus * ulong_max : Inf
+Inf_plus * double_min : Inf
+Inf_plus * double_max : Inf
+Inf_plus * float_min : Inf
+Inf_plus * float_max : Inf
+Inf_plus + zero_min : Inf
+Inf_plus + zero_plus : Inf
+Inf_plus + zero : Inf
+Inf_plus + NaN : NaN
+Inf_plus + Inf_plus : Inf
+Inf_plus + Inf_min : NaN
+Inf_plus + Inf : Inf
+Inf_plus + long_max : Inf
+Inf_plus + long_min : Inf
+Inf_plus + int_max : Inf
+Inf_plus + int_min : Inf
+Inf_plus + uint_max : Inf
+Inf_plus + ulong_max : Inf
+Inf_plus + double_min : Inf
+Inf_plus + double_max : Inf
+Inf_plus + float_min : Inf
+Inf_plus + float_max : Inf
+Inf_plus - zero_min : Inf
+Inf_plus - zero_plus : Inf
+Inf_plus - zero : Inf
+Inf_plus - NaN : NaN
+Inf_plus - Inf_plus : NaN
+Inf_plus - Inf_min : Inf
+Inf_plus - Inf : NaN
+Inf_plus - long_max : Inf
+Inf_plus - long_min : Inf
+Inf_plus - int_max : Inf
+Inf_plus - int_min : Inf
+Inf_plus - uint_max : Inf
+Inf_plus - ulong_max : Inf
+Inf_plus - double_min : Inf
+Inf_plus - double_max : Inf
+Inf_plus - float_min : Inf
+Inf_plus - float_max : Inf
+Inf_plus > zero_min : 0x1
+Inf_plus > zero_plus : 0x1
+Inf_plus > zero : 0x1
+Inf_plus > NaN : 0x0
+Inf_plus > Inf_plus : 0x0
+Inf_plus > Inf_min : 0x1
+Inf_plus > Inf : 0x0
+Inf_plus > long_max : 0x1
+Inf_plus > long_min : 0x1
+Inf_plus > int_max : 0x1
+Inf_plus > int_min : 0x1
+Inf_plus > uint_max : 0x1
+Inf_plus > ulong_max : 0x1
+Inf_plus > double_min : 0x1
+Inf_plus > double_max : 0x1
+Inf_plus > float_min : 0x1
+Inf_plus > float_max : 0x1
+Inf_plus < zero_min : 0x0
+Inf_plus < zero_plus : 0x0
+Inf_plus < zero : 0x0
+Inf_plus < NaN : 0x0
+Inf_plus < Inf_plus : 0x0
+Inf_plus < Inf_min : 0x0
+Inf_plus < Inf : 0x0
+Inf_plus < long_max : 0x0
+Inf_plus < long_min : 0x0
+Inf_plus < int_max : 0x0
+Inf_plus < int_min : 0x0
+Inf_plus < uint_max : 0x0
+Inf_plus < ulong_max : 0x0
+Inf_plus < double_min : 0x0
+Inf_plus < double_max : 0x0
+Inf_plus < float_min : 0x0
+Inf_plus < float_max : 0x0
+Inf_plus >= zero_min : 0x1
+Inf_plus >= zero_plus : 0x1
+Inf_plus >= zero : 0x1
+Inf_plus >= NaN : 0x0
+Inf_plus >= Inf_plus : 0x1
+Inf_plus >= Inf_min : 0x1
+Inf_plus >= Inf : 0x1
+Inf_plus >= long_max : 0x1
+Inf_plus >= long_min : 0x1
+Inf_plus >= int_max : 0x1
+Inf_plus >= int_min : 0x1
+Inf_plus >= uint_max : 0x1
+Inf_plus >= ulong_max : 0x1
+Inf_plus >= double_min : 0x1
+Inf_plus >= double_max : 0x1
+Inf_plus >= float_min : 0x1
+Inf_plus >= float_max : 0x1
+Inf_plus <= zero_min : 0x0
+Inf_plus <= zero_plus : 0x0
+Inf_plus <= zero : 0x0
+Inf_plus <= NaN : 0x0
+Inf_plus <= Inf_plus : 0x1
+Inf_plus <= Inf_min : 0x0
+Inf_plus <= Inf : 0x1
+Inf_plus <= long_max : 0x0
+Inf_plus <= long_min : 0x0
+Inf_plus <= int_max : 0x0
+Inf_plus <= int_min : 0x0
+Inf_plus <= uint_max : 0x0
+Inf_plus <= ulong_max : 0x0
+Inf_plus <= double_min : 0x0
+Inf_plus <= double_max : 0x0
+Inf_plus <= float_min : 0x0
+Inf_plus <= float_max : 0x0
+Inf_plus == zero_min : 0x0
+Inf_plus == zero_plus : 0x0
+Inf_plus == zero : 0x0
+Inf_plus == NaN : 0x0
+Inf_plus == Inf_plus : 0x1
+Inf_plus == Inf_min : 0x0
+Inf_plus == Inf : 0x1
+Inf_plus == long_max : 0x0
+Inf_plus == long_min : 0x0
+Inf_plus == int_max : 0x0
+Inf_plus == int_min : 0x0
+Inf_plus == uint_max : 0x0
+Inf_plus == ulong_max : 0x0
+Inf_plus == double_min : 0x0
+Inf_plus == double_max : 0x0
+Inf_plus == float_min : 0x0
+Inf_plus == float_max : 0x0
+Inf_plus != zero_min : 0x1
+Inf_plus != zero_plus : 0x1
+Inf_plus != zero : 0x1
+Inf_plus != NaN : 0x1
+Inf_plus != Inf_plus : 0x0
+Inf_plus != Inf_min : 0x1
+Inf_plus != Inf : 0x0
+Inf_plus != long_max : 0x1
+Inf_plus != long_min : 0x1
+Inf_plus != int_max : 0x1
+Inf_plus != int_min : 0x1
+Inf_plus != uint_max : 0x1
+Inf_plus != ulong_max : 0x1
+Inf_plus != double_min : 0x1
+Inf_plus != double_max : 0x1
+Inf_plus != float_min : 0x1
+Inf_plus != float_max : 0x1
+Inf_plus * Inf_plus * zero_min : NaN
+Inf_plus * Inf_plus * zero_plus : NaN
+Inf_plus * Inf_plus * zero : NaN
+Inf_plus * Inf_plus * NaN : NaN
+Inf_plus * Inf_plus * Inf_plus : Inf
+Inf_plus * Inf_plus * Inf_min : -Inf
+Inf_plus * Inf_plus * Inf : Inf
+Inf_plus * Inf_plus * long_max : Inf
+Inf_plus * Inf_plus * long_min : -Inf
+Inf_plus * Inf_plus * int_max : Inf
+Inf_plus * Inf_plus * int_min : -Inf
+Inf_plus * Inf_plus * uint_max : Inf
+Inf_plus * Inf_plus * ulong_max : Inf
+Inf_plus * Inf_plus * double_min : Inf
+Inf_plus * Inf_plus * double_max : Inf
+Inf_plus * Inf_plus * float_min : Inf
+Inf_plus * Inf_plus * float_max : Inf
+Inf_min / zero_min : Inf
+Inf_min / zero_plus : -Inf
+Inf_min / zero : -Inf
+Inf_min / NaN : NaN
+Inf_min / Inf_plus : NaN
+Inf_min / Inf_min : NaN
+Inf_min / Inf : NaN
+Inf_min / long_max : -Inf
+Inf_min / long_min : Inf
+Inf_min / int_max : -Inf
+Inf_min / int_min : Inf
+Inf_min / uint_max : -Inf
+Inf_min / ulong_max : -Inf
+Inf_min / double_min : -Inf
+Inf_min / double_max : -Inf
+Inf_min / float_min : -Inf
+Inf_min / float_max : -Inf
+Inf_min * zero_min : NaN
+Inf_min * zero_plus : NaN
+Inf_min * zero : NaN
+Inf_min * NaN : NaN
+Inf_min * Inf_plus : -Inf
+Inf_min * Inf_min : Inf
+Inf_min * Inf : -Inf
+Inf_min * long_max : -Inf
+Inf_min * long_min : Inf
+Inf_min * int_max : -Inf
+Inf_min * int_min : Inf
+Inf_min * uint_max : -Inf
+Inf_min * ulong_max : -Inf
+Inf_min * double_min : -Inf
+Inf_min * double_max : -Inf
+Inf_min * float_min : -Inf
+Inf_min * float_max : -Inf
+Inf_min + zero_min : -Inf
+Inf_min + zero_plus : -Inf
+Inf_min + zero : -Inf
+Inf_min + NaN : NaN
+Inf_min + Inf_plus : NaN
+Inf_min + Inf_min : -Inf
+Inf_min + Inf : NaN
+Inf_min + long_max : -Inf
+Inf_min + long_min : -Inf
+Inf_min + int_max : -Inf
+Inf_min + int_min : -Inf
+Inf_min + uint_max : -Inf
+Inf_min + ulong_max : -Inf
+Inf_min + double_min : -Inf
+Inf_min + double_max : -Inf
+Inf_min + float_min : -Inf
+Inf_min + float_max : -Inf
+Inf_min - zero_min : -Inf
+Inf_min - zero_plus : -Inf
+Inf_min - zero : -Inf
+Inf_min - NaN : NaN
+Inf_min - Inf_plus : -Inf
+Inf_min - Inf_min : NaN
+Inf_min - Inf : -Inf
+Inf_min - long_max : -Inf
+Inf_min - long_min : -Inf
+Inf_min - int_max : -Inf
+Inf_min - int_min : -Inf
+Inf_min - uint_max : -Inf
+Inf_min - ulong_max : -Inf
+Inf_min - double_min : -Inf
+Inf_min - double_max : -Inf
+Inf_min - float_min : -Inf
+Inf_min - float_max : -Inf
+Inf_min > zero_min : 0x0
+Inf_min > zero_plus : 0x0
+Inf_min > zero : 0x0
+Inf_min > NaN : 0x0
+Inf_min > Inf_plus : 0x0
+Inf_min > Inf_min : 0x0
+Inf_min > Inf : 0x0
+Inf_min > long_max : 0x0
+Inf_min > long_min : 0x0
+Inf_min > int_max : 0x0
+Inf_min > int_min : 0x0
+Inf_min > uint_max : 0x0
+Inf_min > ulong_max : 0x0
+Inf_min > double_min : 0x0
+Inf_min > double_max : 0x0
+Inf_min > float_min : 0x0
+Inf_min > float_max : 0x0
+Inf_min < zero_min : 0x1
+Inf_min < zero_plus : 0x1
+Inf_min < zero : 0x1
+Inf_min < NaN : 0x0
+Inf_min < Inf_plus : 0x1
+Inf_min < Inf_min : 0x0
+Inf_min < Inf : 0x1
+Inf_min < long_max : 0x1
+Inf_min < long_min : 0x1
+Inf_min < int_max : 0x1
+Inf_min < int_min : 0x1
+Inf_min < uint_max : 0x1
+Inf_min < ulong_max : 0x1
+Inf_min < double_min : 0x1
+Inf_min < double_max : 0x1
+Inf_min < float_min : 0x1
+Inf_min < float_max : 0x1
+Inf_min >= zero_min : 0x0
+Inf_min >= zero_plus : 0x0
+Inf_min >= zero : 0x0
+Inf_min >= NaN : 0x0
+Inf_min >= Inf_plus : 0x0
+Inf_min >= Inf_min : 0x1
+Inf_min >= Inf : 0x0
+Inf_min >= long_max : 0x0
+Inf_min >= long_min : 0x0
+Inf_min >= int_max : 0x0
+Inf_min >= int_min : 0x0
+Inf_min >= uint_max : 0x0
+Inf_min >= ulong_max : 0x0
+Inf_min >= double_min : 0x0
+Inf_min >= double_max : 0x0
+Inf_min >= float_min : 0x0
+Inf_min >= float_max : 0x0
+Inf_min <= zero_min : 0x1
+Inf_min <= zero_plus : 0x1
+Inf_min <= zero : 0x1
+Inf_min <= NaN : 0x0
+Inf_min <= Inf_plus : 0x1
+Inf_min <= Inf_min : 0x1
+Inf_min <= Inf : 0x1
+Inf_min <= long_max : 0x1
+Inf_min <= long_min : 0x1
+Inf_min <= int_max : 0x1
+Inf_min <= int_min : 0x1
+Inf_min <= uint_max : 0x1
+Inf_min <= ulong_max : 0x1
+Inf_min <= double_min : 0x1
+Inf_min <= double_max : 0x1
+Inf_min <= float_min : 0x1
+Inf_min <= float_max : 0x1
+Inf_min == zero_min : 0x0
+Inf_min == zero_plus : 0x0
+Inf_min == zero : 0x0
+Inf_min == NaN : 0x0
+Inf_min == Inf_plus : 0x0
+Inf_min == Inf_min : 0x1
+Inf_min == Inf : 0x0
+Inf_min == long_max : 0x0
+Inf_min == long_min : 0x0
+Inf_min == int_max : 0x0
+Inf_min == int_min : 0x0
+Inf_min == uint_max : 0x0
+Inf_min == ulong_max : 0x0
+Inf_min == double_min : 0x0
+Inf_min == double_max : 0x0
+Inf_min == float_min : 0x0
+Inf_min == float_max : 0x0
+Inf_min != zero_min : 0x1
+Inf_min != zero_plus : 0x1
+Inf_min != zero : 0x1
+Inf_min != NaN : 0x1
+Inf_min != Inf_plus : 0x1
+Inf_min != Inf_min : 0x0
+Inf_min != Inf : 0x1
+Inf_min != long_max : 0x1
+Inf_min != long_min : 0x1
+Inf_min != int_max : 0x1
+Inf_min != int_min : 0x1
+Inf_min != uint_max : 0x1
+Inf_min != ulong_max : 0x1
+Inf_min != double_min : 0x1
+Inf_min != double_max : 0x1
+Inf_min != float_min : 0x1
+Inf_min != float_max : 0x1
+Inf_min * Inf_min * zero_min : NaN
+Inf_min * Inf_min * zero_plus : NaN
+Inf_min * Inf_min * zero : NaN
+Inf_min * Inf_min * NaN : NaN
+Inf_min * Inf_min * Inf_plus : Inf
+Inf_min * Inf_min * Inf_min : -Inf
+Inf_min * Inf_min * Inf : Inf
+Inf_min * Inf_min * long_max : Inf
+Inf_min * Inf_min * long_min : -Inf
+Inf_min * Inf_min * int_max : Inf
+Inf_min * Inf_min * int_min : -Inf
+Inf_min * Inf_min * uint_max : Inf
+Inf_min * Inf_min * ulong_max : Inf
+Inf_min * Inf_min * double_min : Inf
+Inf_min * Inf_min * double_max : Inf
+Inf_min * Inf_min * float_min : Inf
+Inf_min * Inf_min * float_max : Inf
+Inf / zero_min : -Inf
+Inf / zero_plus : Inf
+Inf / zero : Inf
+Inf / NaN : NaN
+Inf / Inf_plus : NaN
+Inf / Inf_min : NaN
+Inf / Inf : NaN
+Inf / long_max : Inf
+Inf / long_min : -Inf
+Inf / int_max : Inf
+Inf / int_min : -Inf
+Inf / uint_max : Inf
+Inf / ulong_max : Inf
+Inf / double_min : Inf
+Inf / double_max : Inf
+Inf / float_min : Inf
+Inf / float_max : Inf
+Inf * zero_min : NaN
+Inf * zero_plus : NaN
+Inf * zero : NaN
+Inf * NaN : NaN
+Inf * Inf_plus : Inf
+Inf * Inf_min : -Inf
+Inf * Inf : Inf
+Inf * long_max : Inf
+Inf * long_min : -Inf
+Inf * int_max : Inf
+Inf * int_min : -Inf
+Inf * uint_max : Inf
+Inf * ulong_max : Inf
+Inf * double_min : Inf
+Inf * double_max : Inf
+Inf * float_min : Inf
+Inf * float_max : Inf
+Inf + zero_min : Inf
+Inf + zero_plus : Inf
+Inf + zero : Inf
+Inf + NaN : NaN
+Inf + Inf_plus : Inf
+Inf + Inf_min : NaN
+Inf + Inf : Inf
+Inf + long_max : Inf
+Inf + long_min : Inf
+Inf + int_max : Inf
+Inf + int_min : Inf
+Inf + uint_max : Inf
+Inf + ulong_max : Inf
+Inf + double_min : Inf
+Inf + double_max : Inf
+Inf + float_min : Inf
+Inf + float_max : Inf
+Inf - zero_min : Inf
+Inf - zero_plus : Inf
+Inf - zero : Inf
+Inf - NaN : NaN
+Inf - Inf_plus : NaN
+Inf - Inf_min : Inf
+Inf - Inf : NaN
+Inf - long_max : Inf
+Inf - long_min : Inf
+Inf - int_max : Inf
+Inf - int_min : Inf
+Inf - uint_max : Inf
+Inf - ulong_max : Inf
+Inf - double_min : Inf
+Inf - double_max : Inf
+Inf - float_min : Inf
+Inf - float_max : Inf
+Inf > zero_min : 0x1
+Inf > zero_plus : 0x1
+Inf > zero : 0x1
+Inf > NaN : 0x0
+Inf > Inf_plus : 0x0
+Inf > Inf_min : 0x1
+Inf > Inf : 0x0
+Inf > long_max : 0x1
+Inf > long_min : 0x1
+Inf > int_max : 0x1
+Inf > int_min : 0x1
+Inf > uint_max : 0x1
+Inf > ulong_max : 0x1
+Inf > double_min : 0x1
+Inf > double_max : 0x1
+Inf > float_min : 0x1
+Inf > float_max : 0x1
+Inf < zero_min : 0x0
+Inf < zero_plus : 0x0
+Inf < zero : 0x0
+Inf < NaN : 0x0
+Inf < Inf_plus : 0x0
+Inf < Inf_min : 0x0
+Inf < Inf : 0x0
+Inf < long_max : 0x0
+Inf < long_min : 0x0
+Inf < int_max : 0x0
+Inf < int_min : 0x0
+Inf < uint_max : 0x0
+Inf < ulong_max : 0x0
+Inf < double_min : 0x0
+Inf < double_max : 0x0
+Inf < float_min : 0x0
+Inf < float_max : 0x0
+Inf >= zero_min : 0x1
+Inf >= zero_plus : 0x1
+Inf >= zero : 0x1
+Inf >= NaN : 0x0
+Inf >= Inf_plus : 0x1
+Inf >= Inf_min : 0x1
+Inf >= Inf : 0x1
+Inf >= long_max : 0x1
+Inf >= long_min : 0x1
+Inf >= int_max : 0x1
+Inf >= int_min : 0x1
+Inf >= uint_max : 0x1
+Inf >= ulong_max : 0x1
+Inf >= double_min : 0x1
+Inf >= double_max : 0x1
+Inf >= float_min : 0x1
+Inf >= float_max : 0x1
+Inf <= zero_min : 0x0
+Inf <= zero_plus : 0x0
+Inf <= zero : 0x0
+Inf <= NaN : 0x0
+Inf <= Inf_plus : 0x1
+Inf <= Inf_min : 0x0
+Inf <= Inf : 0x1
+Inf <= long_max : 0x0
+Inf <= long_min : 0x0
+Inf <= int_max : 0x0
+Inf <= int_min : 0x0
+Inf <= uint_max : 0x0
+Inf <= ulong_max : 0x0
+Inf <= double_min : 0x0
+Inf <= double_max : 0x0
+Inf <= float_min : 0x0
+Inf <= float_max : 0x0
+Inf == zero_min : 0x0
+Inf == zero_plus : 0x0
+Inf == zero : 0x0
+Inf == NaN : 0x0
+Inf == Inf_plus : 0x1
+Inf == Inf_min : 0x0
+Inf == Inf : 0x1
+Inf == long_max : 0x0
+Inf == long_min : 0x0
+Inf == int_max : 0x0
+Inf == int_min : 0x0
+Inf == uint_max : 0x0
+Inf == ulong_max : 0x0
+Inf == double_min : 0x0
+Inf == double_max : 0x0
+Inf == float_min : 0x0
+Inf == float_max : 0x0
+Inf != zero_min : 0x1
+Inf != zero_plus : 0x1
+Inf != zero : 0x1
+Inf != NaN : 0x1
+Inf != Inf_plus : 0x0
+Inf != Inf_min : 0x1
+Inf != Inf : 0x0
+Inf != long_max : 0x1
+Inf != long_min : 0x1
+Inf != int_max : 0x1
+Inf != int_min : 0x1
+Inf != uint_max : 0x1
+Inf != ulong_max : 0x1
+Inf != double_min : 0x1
+Inf != double_max : 0x1
+Inf != float_min : 0x1
+Inf != float_max : 0x1
+Inf * Inf * zero_min : NaN
+Inf * Inf * zero_plus : NaN
+Inf * Inf * zero : NaN
+Inf * Inf * NaN : NaN
+Inf * Inf * Inf_plus : Inf
+Inf * Inf * Inf_min : -Inf
+Inf * Inf * Inf : Inf
+Inf * Inf * long_max : Inf
+Inf * Inf * long_min : -Inf
+Inf * Inf * int_max : Inf
+Inf * Inf * int_min : -Inf
+Inf * Inf * uint_max : Inf
+Inf * Inf * ulong_max : Inf
+Inf * Inf * double_min : Inf
+Inf * Inf * double_max : Inf
+Inf * Inf * float_min : Inf
+Inf * Inf * float_max : Inf
+****************** limits fx_float_long
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x08e+15
+long_min : 0x8e+15
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x1e+16
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+long_max / zero_min : -Inf
+long_max / zero_plus : Inf
+long_max / zero : Inf
+long_max / NaN : NaN
+long_max / Inf_plus : 0x0
+long_max / Inf_min : 0x0
+long_max / Inf : 0x0
+long_max / long_max : 0x1
+long_max / long_min : 0xf
+long_max / int_max : 0x100000002
+long_max / int_min : 0xfe+8
+long_max / uint_max : 0x080000000.8
+long_max / ulong_max : 0x0.8
+long_max / double_min : Inf
+long_max / double_max : 0x.080000000000008e-239
+long_max / float_min : 0x2e+47
+long_max / float_max : 0x.08000008000008e-15
+long_max * zero_min : 0x0
+long_max * zero_plus : 0x0
+long_max * zero : 0x0
+long_max * NaN : NaN
+long_max * Inf_plus : Inf
+long_max * Inf_min : -Inf
+long_max * Inf : Inf
+long_max * long_max : 0x4e+31
+long_max * long_min : 0xce+31
+long_max * int_max : 0x3fffffff8e+15
+long_max * int_min : 0xce+23
+long_max * uint_max : 0x7fffffff8e+15
+long_max * ulong_max : 0x08e+31
+long_max * double_min : 0x.2e-239
+long_max * double_max : Inf
+long_max * float_min : 0x.2e-15
+long_max * float_max : 0x7fffff8e+41
+long_max + zero_min : 0x08e+15
+long_max + zero_plus : 0x08e+15
+long_max + zero : 0x08e+15
+long_max + NaN : NaN
+long_max + Inf_plus : Inf
+long_max + Inf_min : -Inf
+long_max + Inf : Inf
+long_max + long_max : 0x1e+16
+long_max + long_min : 0x0
+long_max + int_max : 0x0800000008e+7
+long_max + int_min : 0x7fffffff8e+7
+long_max + uint_max : 0x080000001e+8
+long_max + ulong_max : 0x18e+15
+long_max + double_min : 0x08e+15
+long_max + double_max : 0x0fffffffffffff8e+242
+long_max + float_min : 0x08e+15
+long_max + float_max : 0x0ffffffe+26
+long_max - zero_min : 0x08e+15
+long_max - zero_plus : 0x08e+15
+long_max - zero : 0x08e+15
+long_max - NaN : NaN
+long_max - Inf_plus : -Inf
+long_max - Inf_min : Inf
+long_max - Inf : -Inf
+long_max - long_max : 0x0
+long_max - long_min : 0x1e+16
+long_max - int_max : 0x7fffffff8e+7
+long_max - int_min : 0x0800000008e+7
+long_max - uint_max : 0x7fffffffe+8
+long_max - ulong_max : 0x8e+15
+long_max - double_min : 0x08e+15
+long_max - double_max : 0xf00000000000008e+242
+long_max - float_min : 0x08e+15
+long_max - float_max : 0xf000001e+26
+long_max > zero_min : 0x1
+long_max > zero_plus : 0x1
+long_max > zero : 0x1
+long_max > NaN : 0x0
+long_max > Inf_plus : 0x0
+long_max > Inf_min : 0x1
+long_max > Inf : 0x0
+long_max > long_max : 0x0
+long_max > long_min : 0x1
+long_max > int_max : 0x1
+long_max > int_min : 0x1
+long_max > uint_max : 0x1
+long_max > ulong_max : 0x0
+long_max > double_min : 0x1
+long_max > double_max : 0x0
+long_max > float_min : 0x1
+long_max > float_max : 0x0
+long_max < zero_min : 0x0
+long_max < zero_plus : 0x0
+long_max < zero : 0x0
+long_max < NaN : 0x0
+long_max < Inf_plus : 0x1
+long_max < Inf_min : 0x0
+long_max < Inf : 0x1
+long_max < long_max : 0x0
+long_max < long_min : 0x0
+long_max < int_max : 0x0
+long_max < int_min : 0x0
+long_max < uint_max : 0x0
+long_max < ulong_max : 0x1
+long_max < double_min : 0x0
+long_max < double_max : 0x1
+long_max < float_min : 0x0
+long_max < float_max : 0x1
+long_max >= zero_min : 0x1
+long_max >= zero_plus : 0x1
+long_max >= zero : 0x1
+long_max >= NaN : 0x0
+long_max >= Inf_plus : 0x0
+long_max >= Inf_min : 0x1
+long_max >= Inf : 0x0
+long_max >= long_max : 0x1
+long_max >= long_min : 0x1
+long_max >= int_max : 0x1
+long_max >= int_min : 0x1
+long_max >= uint_max : 0x1
+long_max >= ulong_max : 0x0
+long_max >= double_min : 0x1
+long_max >= double_max : 0x0
+long_max >= float_min : 0x1
+long_max >= float_max : 0x0
+long_max <= zero_min : 0x0
+long_max <= zero_plus : 0x0
+long_max <= zero : 0x0
+long_max <= NaN : 0x0
+long_max <= Inf_plus : 0x1
+long_max <= Inf_min : 0x0
+long_max <= Inf : 0x1
+long_max <= long_max : 0x1
+long_max <= long_min : 0x0
+long_max <= int_max : 0x0
+long_max <= int_min : 0x0
+long_max <= uint_max : 0x0
+long_max <= ulong_max : 0x1
+long_max <= double_min : 0x0
+long_max <= double_max : 0x1
+long_max <= float_min : 0x0
+long_max <= float_max : 0x1
+long_max == zero_min : 0x0
+long_max == zero_plus : 0x0
+long_max == zero : 0x0
+long_max == NaN : 0x0
+long_max == Inf_plus : 0x0
+long_max == Inf_min : 0x0
+long_max == Inf : 0x0
+long_max == long_max : 0x1
+long_max == long_min : 0x0
+long_max == int_max : 0x0
+long_max == int_min : 0x0
+long_max == uint_max : 0x0
+long_max == ulong_max : 0x0
+long_max == double_min : 0x0
+long_max == double_max : 0x0
+long_max == float_min : 0x0
+long_max == float_max : 0x0
+long_max != zero_min : 0x1
+long_max != zero_plus : 0x1
+long_max != zero : 0x1
+long_max != NaN : 0x1
+long_max != Inf_plus : 0x1
+long_max != Inf_min : 0x1
+long_max != Inf : 0x1
+long_max != long_max : 0x0
+long_max != long_min : 0x1
+long_max != int_max : 0x1
+long_max != int_min : 0x1
+long_max != uint_max : 0x1
+long_max != ulong_max : 0x1
+long_max != double_min : 0x1
+long_max != double_max : 0x1
+long_max != float_min : 0x1
+long_max != float_max : 0x1
+long_max * long_max * zero_min : 0x0
+long_max * long_max * zero_plus : 0x0
+long_max * long_max * zero : 0x0
+long_max * long_max * NaN : NaN
+long_max * long_max * Inf_plus : Inf
+long_max * long_max * Inf_min : -Inf
+long_max * long_max * Inf : Inf
+long_max * long_max * long_max : 0x2e+47
+long_max * long_max * long_min : 0xee+47
+long_max * long_max * int_max : 0x1fffffffce+31
+long_max * long_max * int_min : 0xee+39
+long_max * long_max * uint_max : 0x3fffffffce+31
+long_max * long_max * ulong_max : 0x4e+47
+long_max * long_max * double_min : 0x.1e-223
+long_max * long_max * double_max : Inf
+long_max * long_max * float_min : 0x1
+long_max * long_max * float_max : 0x3fffffce+57
+long_min / zero_min : Inf
+long_min / zero_plus : -Inf
+long_min / zero : -Inf
+long_min / NaN : NaN
+long_min / Inf_plus : 0x0
+long_min / Inf_min : 0x0
+long_min / Inf : 0x0
+long_min / long_max : 0xf
+long_min / long_min : 0x1
+long_min / int_max : 0xefffffffe
+long_min / int_min : 0x1e+8
+long_min / uint_max : 0xf7fffffff.8
+long_min / ulong_max : 0x.8
+long_min / double_min : -Inf
+long_min / double_max : 0x.f7ffffffffffff8e-239
+long_min / float_min : 0xee+47
+long_min / float_max : 0x.f7fffff7fffff8e-15
+long_min * zero_min : 0x0
+long_min * zero_plus : 0x0
+long_min * zero : 0x0
+long_min * NaN : NaN
+long_min * Inf_plus : -Inf
+long_min * Inf_min : Inf
+long_min * Inf : -Inf
+long_min * long_max : 0xce+31
+long_min * long_min : 0x4e+31
+long_min * int_max : 0xc00000008e+15
+long_min * int_min : 0x4e+23
+long_min * uint_max : 0x800000008e+15
+long_min * ulong_max : 0x8e+31
+long_min * double_min : 0x.ee-239
+long_min * double_max : -Inf
+long_min * float_min : 0x.ee-15
+long_min * float_max : 0x8000008e+41
+long_min + zero_min : 0x8e+15
+long_min + zero_plus : 0x8e+15
+long_min + zero : 0x8e+15
+long_min + NaN : NaN
+long_min + Inf_plus : Inf
+long_min + Inf_min : -Inf
+long_min + Inf : Inf
+long_min + long_max : 0x0
+long_min + long_min : 0xfe+16
+long_min + int_max : 0x800000008e+7
+long_min + int_min : 0xf7fffffff8e+7
+long_min + uint_max : 0x80000001e+8
+long_min + ulong_max : 0x08e+15
+long_min + double_min : 0x8e+15
+long_min + double_max : 0x0fffffffffffff8e+242
+long_min + float_min : 0x8e+15
+long_min + float_max : 0x0ffffffe+26
+long_min - zero_min : 0x8e+15
+long_min - zero_plus : 0x8e+15
+long_min - zero : 0x8e+15
+long_min - NaN : NaN
+long_min - Inf_plus : -Inf
+long_min - Inf_min : Inf
+long_min - Inf : -Inf
+long_min - long_max : 0xfe+16
+long_min - long_min : 0x0
+long_min - int_max : 0xf7fffffff8e+7
+long_min - int_min : 0x800000008e+7
+long_min - uint_max : 0xf7fffffffe+8
+long_min - ulong_max : 0xe8e+15
+long_min - double_min : 0x8e+15
+long_min - double_max : 0xf00000000000008e+242
+long_min - float_min : 0x8e+15
+long_min - float_max : 0xf000001e+26
+long_min > zero_min : 0x0
+long_min > zero_plus : 0x0
+long_min > zero : 0x0
+long_min > NaN : 0x0
+long_min > Inf_plus : 0x0
+long_min > Inf_min : 0x1
+long_min > Inf : 0x0
+long_min > long_max : 0x0
+long_min > long_min : 0x0
+long_min > int_max : 0x0
+long_min > int_min : 0x0
+long_min > uint_max : 0x0
+long_min > ulong_max : 0x0
+long_min > double_min : 0x0
+long_min > double_max : 0x0
+long_min > float_min : 0x0
+long_min > float_max : 0x0
+long_min < zero_min : 0x1
+long_min < zero_plus : 0x1
+long_min < zero : 0x1
+long_min < NaN : 0x0
+long_min < Inf_plus : 0x1
+long_min < Inf_min : 0x0
+long_min < Inf : 0x1
+long_min < long_max : 0x1
+long_min < long_min : 0x0
+long_min < int_max : 0x1
+long_min < int_min : 0x1
+long_min < uint_max : 0x1
+long_min < ulong_max : 0x1
+long_min < double_min : 0x1
+long_min < double_max : 0x1
+long_min < float_min : 0x1
+long_min < float_max : 0x1
+long_min >= zero_min : 0x0
+long_min >= zero_plus : 0x0
+long_min >= zero : 0x0
+long_min >= NaN : 0x0
+long_min >= Inf_plus : 0x0
+long_min >= Inf_min : 0x1
+long_min >= Inf : 0x0
+long_min >= long_max : 0x0
+long_min >= long_min : 0x1
+long_min >= int_max : 0x0
+long_min >= int_min : 0x0
+long_min >= uint_max : 0x0
+long_min >= ulong_max : 0x0
+long_min >= double_min : 0x0
+long_min >= double_max : 0x0
+long_min >= float_min : 0x0
+long_min >= float_max : 0x0
+long_min <= zero_min : 0x1
+long_min <= zero_plus : 0x1
+long_min <= zero : 0x1
+long_min <= NaN : 0x0
+long_min <= Inf_plus : 0x1
+long_min <= Inf_min : 0x0
+long_min <= Inf : 0x1
+long_min <= long_max : 0x1
+long_min <= long_min : 0x1
+long_min <= int_max : 0x1
+long_min <= int_min : 0x1
+long_min <= uint_max : 0x1
+long_min <= ulong_max : 0x1
+long_min <= double_min : 0x1
+long_min <= double_max : 0x1
+long_min <= float_min : 0x1
+long_min <= float_max : 0x1
+long_min == zero_min : 0x0
+long_min == zero_plus : 0x0
+long_min == zero : 0x0
+long_min == NaN : 0x0
+long_min == Inf_plus : 0x0
+long_min == Inf_min : 0x0
+long_min == Inf : 0x0
+long_min == long_max : 0x0
+long_min == long_min : 0x1
+long_min == int_max : 0x0
+long_min == int_min : 0x0
+long_min == uint_max : 0x0
+long_min == ulong_max : 0x0
+long_min == double_min : 0x0
+long_min == double_max : 0x0
+long_min == float_min : 0x0
+long_min == float_max : 0x0
+long_min != zero_min : 0x1
+long_min != zero_plus : 0x1
+long_min != zero : 0x1
+long_min != NaN : 0x1
+long_min != Inf_plus : 0x1
+long_min != Inf_min : 0x1
+long_min != Inf : 0x1
+long_min != long_max : 0x1
+long_min != long_min : 0x0
+long_min != int_max : 0x1
+long_min != int_min : 0x1
+long_min != uint_max : 0x1
+long_min != ulong_max : 0x1
+long_min != double_min : 0x1
+long_min != double_max : 0x1
+long_min != float_min : 0x1
+long_min != float_max : 0x1
+long_min * long_min * zero_min : 0x0
+long_min * long_min * zero_plus : 0x0
+long_min * long_min * zero : 0x0
+long_min * long_min * NaN : NaN
+long_min * long_min * Inf_plus : Inf
+long_min * long_min * Inf_min : -Inf
+long_min * long_min * Inf : Inf
+long_min * long_min * long_max : 0x2e+47
+long_min * long_min * long_min : 0xee+47
+long_min * long_min * int_max : 0x1fffffffce+31
+long_min * long_min * int_min : 0xee+39
+long_min * long_min * uint_max : 0x3fffffffce+31
+long_min * long_min * ulong_max : 0x4e+47
+long_min * long_min * double_min : 0x.1e-223
+long_min * long_min * double_max : Inf
+long_min * long_min * float_min : 0x1
+long_min * long_min * float_max : 0x3fffffce+57
+int_max / zero_min : -Inf
+int_max / zero_plus : Inf
+int_max / zero : Inf
+int_max / NaN : NaN
+int_max / Inf_plus : 0x0
+int_max / Inf_min : 0x0
+int_max / Inf : 0x0
+int_max / long_max : 0x.0fffffffee-7
+int_max / long_min : 0x.f00000002e-7
+int_max / int_max : 0x1
+int_max / int_min : 0xf.00000002
+int_max / uint_max : 0x.7fffffff8
+int_max / ulong_max : 0x.7fffffffe-8
+int_max / double_min : Inf
+int_max / double_max : 0x.7fffffff000004e-248
+int_max / float_min : 0x1fffffffce+31
+int_max / float_max : 0x.08000007f00008e-23
+int_max * zero_min : 0x0
+int_max * zero_plus : 0x0
+int_max * zero : 0x0
+int_max * NaN : NaN
+int_max * Inf_plus : Inf
+int_max * Inf_min : -Inf
+int_max * Inf : Inf
+int_max * long_max : 0x3fffffff8e+15
+int_max * long_min : 0xc00000008e+15
+int_max * int_max : 0x3fffffffe+8
+int_max * int_min : 0xc00000008e+7
+int_max * uint_max : 0x7ffffffe8e+7
+int_max * ulong_max : 0x7fffffffe+16
+int_max * double_min : 0x.1fffffffce-247
+int_max * double_max : Inf
+int_max * float_min : 0x.1fffffffce-23
+int_max * float_max : 0x7fffff7fe+32
+int_max + zero_min : 0x7fffffff
+int_max + zero_plus : 0x7fffffff
+int_max + zero : 0x7fffffff
+int_max + NaN : NaN
+int_max + Inf_plus : Inf
+int_max + Inf_min : -Inf
+int_max + Inf : Inf
+int_max + long_max : 0x0800000008e+7
+int_max + long_min : 0x800000008e+7
+int_max + int_max : 0x0fffffffe
+int_max + int_min : 0xf
+int_max + uint_max : 0x17ffffffe
+int_max + ulong_max : 0x1000000008e+7
+int_max + double_min : 0x7fffffff
+int_max + double_max : 0x0fffffffffffff8e+242
+int_max + float_min : 0x7fffffff
+int_max + float_max : 0x0ffffffe+26
+int_max - zero_min : 0x7fffffff
+int_max - zero_plus : 0x7fffffff
+int_max - zero : 0x7fffffff
+int_max - NaN : NaN
+int_max - Inf_plus : -Inf
+int_max - Inf_min : Inf
+int_max - Inf : -Inf
+int_max - long_max : 0x800000008e+7
+int_max - long_min : 0x0800000008e+7
+int_max - int_max : 0x0
+int_max - int_min : 0x0ffffffff
+int_max - uint_max : 0x8e+7
+int_max - ulong_max : 0xf000000008e+7
+int_max - double_min : 0x7fffffff
+int_max - double_max : 0xf00000000000008e+242
+int_max - float_min : 0x7fffffff
+int_max - float_max : 0xf000001e+26
+int_max > zero_min : 0x1
+int_max > zero_plus : 0x1
+int_max > zero : 0x1
+int_max > NaN : 0x0
+int_max > Inf_plus : 0x0
+int_max > Inf_min : 0x1
+int_max > Inf : 0x0
+int_max > long_max : 0x0
+int_max > long_min : 0x1
+int_max > int_max : 0x0
+int_max > int_min : 0x1
+int_max > uint_max : 0x0
+int_max > ulong_max : 0x0
+int_max > double_min : 0x1
+int_max > double_max : 0x0
+int_max > float_min : 0x1
+int_max > float_max : 0x0
+int_max < zero_min : 0x0
+int_max < zero_plus : 0x0
+int_max < zero : 0x0
+int_max < NaN : 0x0
+int_max < Inf_plus : 0x1
+int_max < Inf_min : 0x0
+int_max < Inf : 0x1
+int_max < long_max : 0x1
+int_max < long_min : 0x0
+int_max < int_max : 0x0
+int_max < int_min : 0x0
+int_max < uint_max : 0x1
+int_max < ulong_max : 0x1
+int_max < double_min : 0x0
+int_max < double_max : 0x1
+int_max < float_min : 0x0
+int_max < float_max : 0x1
+int_max >= zero_min : 0x1
+int_max >= zero_plus : 0x1
+int_max >= zero : 0x1
+int_max >= NaN : 0x0
+int_max >= Inf_plus : 0x0
+int_max >= Inf_min : 0x1
+int_max >= Inf : 0x0
+int_max >= long_max : 0x0
+int_max >= long_min : 0x1
+int_max >= int_max : 0x1
+int_max >= int_min : 0x1
+int_max >= uint_max : 0x0
+int_max >= ulong_max : 0x0
+int_max >= double_min : 0x1
+int_max >= double_max : 0x0
+int_max >= float_min : 0x1
+int_max >= float_max : 0x0
+int_max <= zero_min : 0x0
+int_max <= zero_plus : 0x0
+int_max <= zero : 0x0
+int_max <= NaN : 0x0
+int_max <= Inf_plus : 0x1
+int_max <= Inf_min : 0x0
+int_max <= Inf : 0x1
+int_max <= long_max : 0x1
+int_max <= long_min : 0x0
+int_max <= int_max : 0x1
+int_max <= int_min : 0x0
+int_max <= uint_max : 0x1
+int_max <= ulong_max : 0x1
+int_max <= double_min : 0x0
+int_max <= double_max : 0x1
+int_max <= float_min : 0x0
+int_max <= float_max : 0x1
+int_max == zero_min : 0x0
+int_max == zero_plus : 0x0
+int_max == zero : 0x0
+int_max == NaN : 0x0
+int_max == Inf_plus : 0x0
+int_max == Inf_min : 0x0
+int_max == Inf : 0x0
+int_max == long_max : 0x0
+int_max == long_min : 0x0
+int_max == int_max : 0x1
+int_max == int_min : 0x0
+int_max == uint_max : 0x0
+int_max == ulong_max : 0x0
+int_max == double_min : 0x0
+int_max == double_max : 0x0
+int_max == float_min : 0x0
+int_max == float_max : 0x0
+int_max != zero_min : 0x1
+int_max != zero_plus : 0x1
+int_max != zero : 0x1
+int_max != NaN : 0x1
+int_max != Inf_plus : 0x1
+int_max != Inf_min : 0x1
+int_max != Inf : 0x1
+int_max != long_max : 0x1
+int_max != long_min : 0x1
+int_max != int_max : 0x0
+int_max != int_min : 0x1
+int_max != uint_max : 0x1
+int_max != ulong_max : 0x1
+int_max != double_min : 0x1
+int_max != double_max : 0x1
+int_max != float_min : 0x1
+int_max != float_max : 0x1
+int_max * int_max * zero_min : 0x0
+int_max * int_max * zero_plus : 0x0
+int_max * int_max * zero : 0x0
+int_max * int_max * NaN : NaN
+int_max * int_max * Inf_plus : Inf
+int_max * int_max * Inf_min : -Inf
+int_max * int_max * Inf : Inf
+int_max * int_max * long_max : 0x1fffffff8e+23
+int_max * int_max * long_min : 0xe00000008e+23
+int_max * int_max * int_max : 0x1fffffff4e+15
+int_max * int_max * int_min : 0xe00000008e+15
+int_max * int_max * uint_max : 0x3ffffffece+15
+int_max * int_max * ulong_max : 0x3fffffffe+24
+int_max * int_max * double_min : 0x.0fffffffce-239
+int_max * int_max * double_max : Inf
+int_max * int_max * float_min : 0x.0fffffffce-15
+int_max * int_max * float_max : 0x3fffffbfe+40
+int_min / zero_min : Inf
+int_min / zero_plus : -Inf
+int_min / zero : -Inf
+int_min / NaN : NaN
+int_min / Inf_plus : 0x0
+int_min / Inf_min : 0x0
+int_min / Inf : 0x0
+int_min / long_max : 0x.fe-7
+int_min / long_min : 0x.1e-7
+int_min / int_max : 0xe.fffffffe
+int_min / int_min : 0x1
+int_min / uint_max : 0xf.7fffffff8
+int_min / ulong_max : 0x.8e-8
+int_min / double_min : -Inf
+int_min / double_max : 0x.f7ffffffffffff8e-247
+int_min / float_min : 0xee+39
+int_min / float_max : 0x.f7fffff7fffff8e-23
+int_min * zero_min : 0x0
+int_min * zero_plus : 0x0
+int_min * zero : 0x0
+int_min * NaN : NaN
+int_min * Inf_plus : -Inf
+int_min * Inf_min : Inf
+int_min * Inf : -Inf
+int_min * long_max : 0xce+23
+int_min * long_min : 0x4e+23
+int_min * int_max : 0xc00000008e+7
+int_min * int_min : 0x4e+15
+int_min * uint_max : 0x800000008e+7
+int_min * ulong_max : 0x8e+23
+int_min * double_min : 0x.ee-247
+int_min * double_max : -Inf
+int_min * float_min : 0x.ee-23
+int_min * float_max : 0x8000008e+33
+int_min + zero_min : 0x8e+7
+int_min + zero_plus : 0x8e+7
+int_min + zero : 0x8e+7
+int_min + NaN : NaN
+int_min + Inf_plus : Inf
+int_min + Inf_min : -Inf
+int_min + Inf : Inf
+int_min + long_max : 0x7fffffff8e+7
+int_min + long_min : 0xf7fffffff8e+7
+int_min + int_max : 0xf
+int_min + int_min : 0xfe+8
+int_min + uint_max : 0x7fffffff
+int_min + ulong_max : 0x0ffffffff8e+7
+int_min + double_min : 0x8e+7
+int_min + double_max : 0x0fffffffffffff8e+242
+int_min + float_min : 0x8e+7
+int_min + float_max : 0x0ffffffe+26
+int_min - zero_min : 0x8e+7
+int_min - zero_plus : 0x8e+7
+int_min - zero : 0x8e+7
+int_min - NaN : NaN
+int_min - Inf_plus : -Inf
+int_min - Inf_min : Inf
+int_min - Inf : -Inf
+int_min - long_max : 0xf7fffffff8e+7
+int_min - long_min : 0x7fffffff8e+7
+int_min - int_max : 0xf00000001
+int_min - int_min : 0x0
+int_min - uint_max : 0xe80000001
+int_min - ulong_max : 0xeffffffff8e+7
+int_min - double_min : 0x8e+7
+int_min - double_max : 0xf00000000000008e+242
+int_min - float_min : 0x8e+7
+int_min - float_max : 0xf000001e+26
+int_min > zero_min : 0x0
+int_min > zero_plus : 0x0
+int_min > zero : 0x0
+int_min > NaN : 0x0
+int_min > Inf_plus : 0x0
+int_min > Inf_min : 0x1
+int_min > Inf : 0x0
+int_min > long_max : 0x0
+int_min > long_min : 0x1
+int_min > int_max : 0x0
+int_min > int_min : 0x0
+int_min > uint_max : 0x0
+int_min > ulong_max : 0x0
+int_min > double_min : 0x0
+int_min > double_max : 0x0
+int_min > float_min : 0x0
+int_min > float_max : 0x0
+int_min < zero_min : 0x1
+int_min < zero_plus : 0x1
+int_min < zero : 0x1
+int_min < NaN : 0x0
+int_min < Inf_plus : 0x1
+int_min < Inf_min : 0x0
+int_min < Inf : 0x1
+int_min < long_max : 0x1
+int_min < long_min : 0x0
+int_min < int_max : 0x1
+int_min < int_min : 0x0
+int_min < uint_max : 0x1
+int_min < ulong_max : 0x1
+int_min < double_min : 0x1
+int_min < double_max : 0x1
+int_min < float_min : 0x1
+int_min < float_max : 0x1
+int_min >= zero_min : 0x0
+int_min >= zero_plus : 0x0
+int_min >= zero : 0x0
+int_min >= NaN : 0x0
+int_min >= Inf_plus : 0x0
+int_min >= Inf_min : 0x1
+int_min >= Inf : 0x0
+int_min >= long_max : 0x0
+int_min >= long_min : 0x1
+int_min >= int_max : 0x0
+int_min >= int_min : 0x1
+int_min >= uint_max : 0x0
+int_min >= ulong_max : 0x0
+int_min >= double_min : 0x0
+int_min >= double_max : 0x0
+int_min >= float_min : 0x0
+int_min >= float_max : 0x0
+int_min <= zero_min : 0x1
+int_min <= zero_plus : 0x1
+int_min <= zero : 0x1
+int_min <= NaN : 0x0
+int_min <= Inf_plus : 0x1
+int_min <= Inf_min : 0x0
+int_min <= Inf : 0x1
+int_min <= long_max : 0x1
+int_min <= long_min : 0x0
+int_min <= int_max : 0x1
+int_min <= int_min : 0x1
+int_min <= uint_max : 0x1
+int_min <= ulong_max : 0x1
+int_min <= double_min : 0x1
+int_min <= double_max : 0x1
+int_min <= float_min : 0x1
+int_min <= float_max : 0x1
+int_min == zero_min : 0x0
+int_min == zero_plus : 0x0
+int_min == zero : 0x0
+int_min == NaN : 0x0
+int_min == Inf_plus : 0x0
+int_min == Inf_min : 0x0
+int_min == Inf : 0x0
+int_min == long_max : 0x0
+int_min == long_min : 0x0
+int_min == int_max : 0x0
+int_min == int_min : 0x1
+int_min == uint_max : 0x0
+int_min == ulong_max : 0x0
+int_min == double_min : 0x0
+int_min == double_max : 0x0
+int_min == float_min : 0x0
+int_min == float_max : 0x0
+int_min != zero_min : 0x1
+int_min != zero_plus : 0x1
+int_min != zero : 0x1
+int_min != NaN : 0x1
+int_min != Inf_plus : 0x1
+int_min != Inf_min : 0x1
+int_min != Inf : 0x1
+int_min != long_max : 0x1
+int_min != long_min : 0x1
+int_min != int_max : 0x1
+int_min != int_min : 0x0
+int_min != uint_max : 0x1
+int_min != ulong_max : 0x1
+int_min != double_min : 0x1
+int_min != double_max : 0x1
+int_min != float_min : 0x1
+int_min != float_max : 0x1
+int_min * int_min * zero_min : 0x0
+int_min * int_min * zero_plus : 0x0
+int_min * int_min * zero : 0x0
+int_min * int_min * NaN : NaN
+int_min * int_min * Inf_plus : Inf
+int_min * int_min * Inf_min : -Inf
+int_min * int_min * Inf : Inf
+int_min * int_min * long_max : 0x2e+31
+int_min * int_min * long_min : 0xee+31
+int_min * int_min * int_max : 0x1fffffffce+15
+int_min * int_min * int_min : 0xee+23
+int_min * int_min * uint_max : 0x3fffffffce+15
+int_min * int_min * ulong_max : 0x4e+31
+int_min * int_min * double_min : 0x.1e-239
+int_min * int_min * double_max : Inf
+int_min * int_min * float_min : 0x.1e-15
+int_min * int_min * float_max : 0x3fffffce+41
+uint_max / zero_min : -Inf
+uint_max / zero_plus : Inf
+uint_max / zero : Inf
+uint_max / NaN : NaN
+uint_max / Inf_plus : 0x0
+uint_max / Inf_min : 0x0
+uint_max / Inf : 0x0
+uint_max / long_max : 0x.1fffffffee-7
+uint_max / long_min : 0x.e00000002e-7
+uint_max / int_max : 0x2.00000002
+uint_max / int_min : 0xe.00000002
+uint_max / uint_max : 0x1
+uint_max / ulong_max : 0x.0ffffffffe-7
+uint_max / double_min : Inf
+uint_max / double_max : 0x.0ffffffff000008e-247
+uint_max / float_min : 0x3fffffffce+31
+uint_max / float_max : 0x.1000000ff0001e-23
+uint_max * zero_min : 0x0
+uint_max * zero_plus : 0x0
+uint_max * zero : 0x0
+uint_max * NaN : NaN
+uint_max * Inf_plus : Inf
+uint_max * Inf_min : -Inf
+uint_max * Inf : Inf
+uint_max * long_max : 0x7fffffff8e+15
+uint_max * long_min : 0x800000008e+15
+uint_max * int_max : 0x7ffffffe8e+7
+uint_max * int_min : 0x800000008e+7
+uint_max * uint_max : 0x0fffffffee+8
+uint_max * ulong_max : 0x0ffffffffe+16
+uint_max * double_min : 0x.3fffffffce-247
+uint_max * double_max : Inf
+uint_max * float_min : 0x.3fffffffce-23
+uint_max * float_max : 0x0fffffeffe+32
+uint_max + zero_min : 0x0ffffffff
+uint_max + zero_plus : 0x0ffffffff
+uint_max + zero : 0x0ffffffff
+uint_max + NaN : NaN
+uint_max + Inf_plus : Inf
+uint_max + Inf_min : -Inf
+uint_max + Inf : Inf
+uint_max + long_max : 0x080000001e+8
+uint_max + long_min : 0x80000001e+8
+uint_max + int_max : 0x17ffffffe
+uint_max + int_min : 0x7fffffff
+uint_max + uint_max : 0x1fffffffe
+uint_max + ulong_max : 0x100000001e+8
+uint_max + double_min : 0x0ffffffff
+uint_max + double_max : 0x0fffffffffffff8e+242
+uint_max + float_min : 0x0ffffffff
+uint_max + float_max : 0x0ffffffe+26
+uint_max - zero_min : 0x0ffffffff
+uint_max - zero_plus : 0x0ffffffff
+uint_max - zero : 0x0ffffffff
+uint_max - NaN : NaN
+uint_max - Inf_plus : -Inf
+uint_max - Inf_min : Inf
+uint_max - Inf : -Inf
+uint_max - long_max : 0x80000001e+8
+uint_max - long_min : 0x080000001e+8
+uint_max - int_max : 0x08e+7
+uint_max - int_min : 0x17fffffff
+uint_max - uint_max : 0x0
+uint_max - ulong_max : 0xf00000001e+8
+uint_max - double_min : 0x0ffffffff
+uint_max - double_max : 0xf00000000000008e+242
+uint_max - float_min : 0x0ffffffff
+uint_max - float_max : 0xf000001e+26
+uint_max > zero_min : 0x1
+uint_max > zero_plus : 0x1
+uint_max > zero : 0x1
+uint_max > NaN : 0x0
+uint_max > Inf_plus : 0x0
+uint_max > Inf_min : 0x1
+uint_max > Inf : 0x0
+uint_max > long_max : 0x0
+uint_max > long_min : 0x1
+uint_max > int_max : 0x1
+uint_max > int_min : 0x1
+uint_max > uint_max : 0x0
+uint_max > ulong_max : 0x0
+uint_max > double_min : 0x1
+uint_max > double_max : 0x0
+uint_max > float_min : 0x1
+uint_max > float_max : 0x0
+uint_max < zero_min : 0x0
+uint_max < zero_plus : 0x0
+uint_max < zero : 0x0
+uint_max < NaN : 0x0
+uint_max < Inf_plus : 0x1
+uint_max < Inf_min : 0x0
+uint_max < Inf : 0x1
+uint_max < long_max : 0x1
+uint_max < long_min : 0x0
+uint_max < int_max : 0x0
+uint_max < int_min : 0x0
+uint_max < uint_max : 0x0
+uint_max < ulong_max : 0x1
+uint_max < double_min : 0x0
+uint_max < double_max : 0x1
+uint_max < float_min : 0x0
+uint_max < float_max : 0x1
+uint_max >= zero_min : 0x1
+uint_max >= zero_plus : 0x1
+uint_max >= zero : 0x1
+uint_max >= NaN : 0x0
+uint_max >= Inf_plus : 0x0
+uint_max >= Inf_min : 0x1
+uint_max >= Inf : 0x0
+uint_max >= long_max : 0x0
+uint_max >= long_min : 0x1
+uint_max >= int_max : 0x1
+uint_max >= int_min : 0x1
+uint_max >= uint_max : 0x1
+uint_max >= ulong_max : 0x0
+uint_max >= double_min : 0x1
+uint_max >= double_max : 0x0
+uint_max >= float_min : 0x1
+uint_max >= float_max : 0x0
+uint_max <= zero_min : 0x0
+uint_max <= zero_plus : 0x0
+uint_max <= zero : 0x0
+uint_max <= NaN : 0x0
+uint_max <= Inf_plus : 0x1
+uint_max <= Inf_min : 0x0
+uint_max <= Inf : 0x1
+uint_max <= long_max : 0x1
+uint_max <= long_min : 0x0
+uint_max <= int_max : 0x0
+uint_max <= int_min : 0x0
+uint_max <= uint_max : 0x1
+uint_max <= ulong_max : 0x1
+uint_max <= double_min : 0x0
+uint_max <= double_max : 0x1
+uint_max <= float_min : 0x0
+uint_max <= float_max : 0x1
+uint_max == zero_min : 0x0
+uint_max == zero_plus : 0x0
+uint_max == zero : 0x0
+uint_max == NaN : 0x0
+uint_max == Inf_plus : 0x0
+uint_max == Inf_min : 0x0
+uint_max == Inf : 0x0
+uint_max == long_max : 0x0
+uint_max == long_min : 0x0
+uint_max == int_max : 0x0
+uint_max == int_min : 0x0
+uint_max == uint_max : 0x1
+uint_max == ulong_max : 0x0
+uint_max == double_min : 0x0
+uint_max == double_max : 0x0
+uint_max == float_min : 0x0
+uint_max == float_max : 0x0
+uint_max != zero_min : 0x1
+uint_max != zero_plus : 0x1
+uint_max != zero : 0x1
+uint_max != NaN : 0x1
+uint_max != Inf_plus : 0x1
+uint_max != Inf_min : 0x1
+uint_max != Inf : 0x1
+uint_max != long_max : 0x1
+uint_max != long_min : 0x1
+uint_max != int_max : 0x1
+uint_max != int_min : 0x1
+uint_max != uint_max : 0x0
+uint_max != ulong_max : 0x1
+uint_max != double_min : 0x1
+uint_max != double_max : 0x1
+uint_max != float_min : 0x1
+uint_max != float_max : 0x1
+uint_max * uint_max * zero_min : 0x0
+uint_max * uint_max * zero_plus : 0x0
+uint_max * uint_max * zero : 0x0
+uint_max * uint_max * NaN : NaN
+uint_max * uint_max * Inf_plus : Inf
+uint_max * uint_max * Inf_min : -Inf
+uint_max * uint_max * Inf : Inf
+uint_max * uint_max * long_max : 0x7fffffffe+24
+uint_max * uint_max * long_min : 0x80000001e+24
+uint_max * uint_max * int_max : 0x7ffffffee+16
+uint_max * uint_max * int_min : 0x80000001e+16
+uint_max * uint_max * uint_max : 0x0fffffffde+16
+uint_max * uint_max * ulong_max : 0x0fffffffee+24
+uint_max * uint_max * double_min : 0x.3fffffff8e-239
+uint_max * uint_max * double_max : Inf
+uint_max * uint_max * float_min : 0x.3fffffff8e-15
+uint_max * uint_max * float_max : 0x0fffffefee+40
+ulong_max / zero_min : -Inf
+ulong_max / zero_plus : Inf
+ulong_max / zero : Inf
+ulong_max / NaN : NaN
+ulong_max / Inf_plus : 0x0
+ulong_max / Inf_min : 0x0
+ulong_max / Inf : 0x0
+ulong_max / long_max : 0x2
+ulong_max / long_min : 0xe
+ulong_max / int_max : 0x200000004
+ulong_max / int_min : 0xee+8
+ulong_max / uint_max : 0x100000001
+ulong_max / ulong_max : 0x1
+ulong_max / double_min : Inf
+ulong_max / double_max : 0x.10000000000001e-239
+ulong_max / float_min : 0x4e+47
+ulong_max / float_max : 0x.1000001000001e-15
+ulong_max * zero_min : 0x0
+ulong_max * zero_plus : 0x0
+ulong_max * zero : 0x0
+ulong_max * NaN : NaN
+ulong_max * Inf_plus : Inf
+ulong_max * Inf_min : -Inf
+ulong_max * Inf : Inf
+ulong_max * long_max : 0x08e+31
+ulong_max * long_min : 0x8e+31
+ulong_max * int_max : 0x7fffffffe+16
+ulong_max * int_min : 0x8e+23
+ulong_max * uint_max : 0x0ffffffffe+16
+ulong_max * ulong_max : 0x1e+32
+ulong_max * double_min : 0x.4e-239
+ulong_max * double_max : Inf
+ulong_max * float_min : 0x.4e-15
+ulong_max * float_max : 0x0ffffffe+42
+ulong_max + zero_min : 0x1e+16
+ulong_max + zero_plus : 0x1e+16
+ulong_max + zero : 0x1e+16
+ulong_max + NaN : NaN
+ulong_max + Inf_plus : Inf
+ulong_max + Inf_min : -Inf
+ulong_max + Inf : Inf
+ulong_max + long_max : 0x18e+15
+ulong_max + long_min : 0x08e+15
+ulong_max + int_max : 0x1000000008e+7
+ulong_max + int_min : 0x0ffffffff8e+7
+ulong_max + uint_max : 0x100000001e+8
+ulong_max + ulong_max : 0x2e+16
+ulong_max + double_min : 0x1e+16
+ulong_max + double_max : 0x0fffffffffffff8e+242
+ulong_max + float_min : 0x1e+16
+ulong_max + float_max : 0x0ffffffe+26
+ulong_max - zero_min : 0x1e+16
+ulong_max - zero_plus : 0x1e+16
+ulong_max - zero : 0x1e+16
+ulong_max - NaN : NaN
+ulong_max - Inf_plus : -Inf
+ulong_max - Inf_min : Inf
+ulong_max - Inf : -Inf
+ulong_max - long_max : 0x08e+15
+ulong_max - long_min : 0x18e+15
+ulong_max - int_max : 0x0ffffffff8e+7
+ulong_max - int_min : 0x1000000008e+7
+ulong_max - uint_max : 0x0ffffffffe+8
+ulong_max - ulong_max : 0x0
+ulong_max - double_min : 0x1e+16
+ulong_max - double_max : 0xf00000000000008e+242
+ulong_max - float_min : 0x1e+16
+ulong_max - float_max : 0xf000001e+26
+ulong_max > zero_min : 0x1
+ulong_max > zero_plus : 0x1
+ulong_max > zero : 0x1
+ulong_max > NaN : 0x0
+ulong_max > Inf_plus : 0x0
+ulong_max > Inf_min : 0x1
+ulong_max > Inf : 0x0
+ulong_max > long_max : 0x1
+ulong_max > long_min : 0x1
+ulong_max > int_max : 0x1
+ulong_max > int_min : 0x1
+ulong_max > uint_max : 0x1
+ulong_max > ulong_max : 0x0
+ulong_max > double_min : 0x1
+ulong_max > double_max : 0x0
+ulong_max > float_min : 0x1
+ulong_max > float_max : 0x0
+ulong_max < zero_min : 0x0
+ulong_max < zero_plus : 0x0
+ulong_max < zero : 0x0
+ulong_max < NaN : 0x0
+ulong_max < Inf_plus : 0x1
+ulong_max < Inf_min : 0x0
+ulong_max < Inf : 0x1
+ulong_max < long_max : 0x0
+ulong_max < long_min : 0x0
+ulong_max < int_max : 0x0
+ulong_max < int_min : 0x0
+ulong_max < uint_max : 0x0
+ulong_max < ulong_max : 0x0
+ulong_max < double_min : 0x0
+ulong_max < double_max : 0x1
+ulong_max < float_min : 0x0
+ulong_max < float_max : 0x1
+ulong_max >= zero_min : 0x1
+ulong_max >= zero_plus : 0x1
+ulong_max >= zero : 0x1
+ulong_max >= NaN : 0x0
+ulong_max >= Inf_plus : 0x0
+ulong_max >= Inf_min : 0x1
+ulong_max >= Inf : 0x0
+ulong_max >= long_max : 0x1
+ulong_max >= long_min : 0x1
+ulong_max >= int_max : 0x1
+ulong_max >= int_min : 0x1
+ulong_max >= uint_max : 0x1
+ulong_max >= ulong_max : 0x1
+ulong_max >= double_min : 0x1
+ulong_max >= double_max : 0x0
+ulong_max >= float_min : 0x1
+ulong_max >= float_max : 0x0
+ulong_max <= zero_min : 0x0
+ulong_max <= zero_plus : 0x0
+ulong_max <= zero : 0x0
+ulong_max <= NaN : 0x0
+ulong_max <= Inf_plus : 0x1
+ulong_max <= Inf_min : 0x0
+ulong_max <= Inf : 0x1
+ulong_max <= long_max : 0x0
+ulong_max <= long_min : 0x0
+ulong_max <= int_max : 0x0
+ulong_max <= int_min : 0x0
+ulong_max <= uint_max : 0x0
+ulong_max <= ulong_max : 0x1
+ulong_max <= double_min : 0x0
+ulong_max <= double_max : 0x1
+ulong_max <= float_min : 0x0
+ulong_max <= float_max : 0x1
+ulong_max == zero_min : 0x0
+ulong_max == zero_plus : 0x0
+ulong_max == zero : 0x0
+ulong_max == NaN : 0x0
+ulong_max == Inf_plus : 0x0
+ulong_max == Inf_min : 0x0
+ulong_max == Inf : 0x0
+ulong_max == long_max : 0x0
+ulong_max == long_min : 0x0
+ulong_max == int_max : 0x0
+ulong_max == int_min : 0x0
+ulong_max == uint_max : 0x0
+ulong_max == ulong_max : 0x1
+ulong_max == double_min : 0x0
+ulong_max == double_max : 0x0
+ulong_max == float_min : 0x0
+ulong_max == float_max : 0x0
+ulong_max != zero_min : 0x1
+ulong_max != zero_plus : 0x1
+ulong_max != zero : 0x1
+ulong_max != NaN : 0x1
+ulong_max != Inf_plus : 0x1
+ulong_max != Inf_min : 0x1
+ulong_max != Inf : 0x1
+ulong_max != long_max : 0x1
+ulong_max != long_min : 0x1
+ulong_max != int_max : 0x1
+ulong_max != int_min : 0x1
+ulong_max != uint_max : 0x1
+ulong_max != ulong_max : 0x0
+ulong_max != double_min : 0x1
+ulong_max != double_max : 0x1
+ulong_max != float_min : 0x1
+ulong_max != float_max : 0x1
+ulong_max * ulong_max * zero_min : 0x0
+ulong_max * ulong_max * zero_plus : 0x0
+ulong_max * ulong_max * zero : 0x0
+ulong_max * ulong_max * NaN : NaN
+ulong_max * ulong_max * Inf_plus : Inf
+ulong_max * ulong_max * Inf_min : -Inf
+ulong_max * ulong_max * Inf : Inf
+ulong_max * ulong_max * long_max : 0x08e+47
+ulong_max * ulong_max * long_min : 0x8e+47
+ulong_max * ulong_max * int_max : 0x7fffffffe+32
+ulong_max * ulong_max * int_min : 0x8e+39
+ulong_max * ulong_max * uint_max : 0x0ffffffffe+32
+ulong_max * ulong_max * ulong_max : 0x1e+48
+ulong_max * ulong_max * double_min : 0x.4e-223
+ulong_max * ulong_max * double_max : Inf
+ulong_max * ulong_max * float_min : 0x4
+ulong_max * ulong_max * float_max : 0x0ffffffe+58
+****************** limits fx_float_double
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x08e+15
+long_min : 0x8e+15
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x1e+16
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+double_min / zero_min : -Inf
+double_min / zero_plus : Inf
+double_min / zero : Inf
+double_min / NaN : NaN
+double_min / Inf_plus : 0x0
+double_min / Inf_min : 0x0
+double_min / Inf : 0x0
+double_min / long_max : 0x0
+double_min / long_min : 0x0
+double_min / int_max : 0x.4e-263
+double_min / int_min : 0x.ce-263
+double_min / uint_max : 0x.2e-263
+double_min / ulong_max : 0x0
+double_min / double_min : 0x1
+double_min / double_max : 0x0
+double_min / float_min : 0x.1e-223
+double_min / float_max : 0x0
+double_min * zero_min : 0x0
+double_min * zero_plus : 0x0
+double_min * zero : 0x0
+double_min * NaN : NaN
+double_min * Inf_plus : Inf
+double_min * Inf_min : -Inf
+double_min * Inf : Inf
+double_min * long_max : 0x.2e-239
+double_min * long_min : 0x.ee-239
+double_min * int_max : 0x.1fffffffce-247
+double_min * int_min : 0x.ee-247
+double_min * uint_max : 0x.3fffffffce-247
+double_min * ulong_max : 0x.4e-239
+double_min * double_min : 0x0
+double_min * double_max : 0x3.ffffffffffffe
+double_min * float_min : 0x0
+double_min * float_max : 0x.3fffffce-223
+double_min + zero_min : 0x.4e-255
+double_min + zero_plus : 0x.4e-255
+double_min + zero : 0x.4e-255
+double_min + NaN : NaN
+double_min + Inf_plus : Inf
+double_min + Inf_min : -Inf
+double_min + Inf : Inf
+double_min + long_max : 0x08e+15
+double_min + long_min : 0x8e+15
+double_min + int_max : 0x7fffffff
+double_min + int_min : 0x8e+7
+double_min + uint_max : 0x0ffffffff
+double_min + ulong_max : 0x1e+16
+double_min + double_min : 0x.08e-254
+double_min + double_max : 0x0fffffffffffff8e+242
+double_min + float_min : 0x.4e-31
+double_min + float_max : 0x0ffffffe+26
+double_min - zero_min : 0x.4e-255
+double_min - zero_plus : 0x.4e-255
+double_min - zero : 0x.4e-255
+double_min - NaN : NaN
+double_min - Inf_plus : -Inf
+double_min - Inf_min : Inf
+double_min - Inf : -Inf
+double_min - long_max : 0x8e+15
+double_min - long_min : 0x08e+15
+double_min - int_max : 0x80000001
+double_min - int_min : 0x08e+7
+double_min - uint_max : 0xf00000001
+double_min - ulong_max : 0xfe+16
+double_min - double_min : 0x0
+double_min - double_max : 0xf00000000000008e+242
+double_min - float_min : 0x.ce-31
+double_min - float_max : 0xf000001e+26
+double_min > zero_min : 0x1
+double_min > zero_plus : 0x1
+double_min > zero : 0x1
+double_min > NaN : 0x0
+double_min > Inf_plus : 0x0
+double_min > Inf_min : 0x1
+double_min > Inf : 0x0
+double_min > long_max : 0x0
+double_min > long_min : 0x1
+double_min > int_max : 0x0
+double_min > int_min : 0x1
+double_min > uint_max : 0x0
+double_min > ulong_max : 0x0
+double_min > double_min : 0x0
+double_min > double_max : 0x0
+double_min > float_min : 0x0
+double_min > float_max : 0x0
+double_min < zero_min : 0x0
+double_min < zero_plus : 0x0
+double_min < zero : 0x0
+double_min < NaN : 0x0
+double_min < Inf_plus : 0x1
+double_min < Inf_min : 0x0
+double_min < Inf : 0x1
+double_min < long_max : 0x1
+double_min < long_min : 0x0
+double_min < int_max : 0x1
+double_min < int_min : 0x0
+double_min < uint_max : 0x1
+double_min < ulong_max : 0x1
+double_min < double_min : 0x0
+double_min < double_max : 0x1
+double_min < float_min : 0x1
+double_min < float_max : 0x1
+double_min >= zero_min : 0x1
+double_min >= zero_plus : 0x1
+double_min >= zero : 0x1
+double_min >= NaN : 0x0
+double_min >= Inf_plus : 0x0
+double_min >= Inf_min : 0x1
+double_min >= Inf : 0x0
+double_min >= long_max : 0x0
+double_min >= long_min : 0x1
+double_min >= int_max : 0x0
+double_min >= int_min : 0x1
+double_min >= uint_max : 0x0
+double_min >= ulong_max : 0x0
+double_min >= double_min : 0x1
+double_min >= double_max : 0x0
+double_min >= float_min : 0x0
+double_min >= float_max : 0x0
+double_min <= zero_min : 0x0
+double_min <= zero_plus : 0x0
+double_min <= zero : 0x0
+double_min <= NaN : 0x0
+double_min <= Inf_plus : 0x1
+double_min <= Inf_min : 0x0
+double_min <= Inf : 0x1
+double_min <= long_max : 0x1
+double_min <= long_min : 0x0
+double_min <= int_max : 0x1
+double_min <= int_min : 0x0
+double_min <= uint_max : 0x1
+double_min <= ulong_max : 0x1
+double_min <= double_min : 0x1
+double_min <= double_max : 0x1
+double_min <= float_min : 0x1
+double_min <= float_max : 0x1
+double_min == zero_min : 0x0
+double_min == zero_plus : 0x0
+double_min == zero : 0x0
+double_min == NaN : 0x0
+double_min == Inf_plus : 0x0
+double_min == Inf_min : 0x0
+double_min == Inf : 0x0
+double_min == long_max : 0x0
+double_min == long_min : 0x0
+double_min == int_max : 0x0
+double_min == int_min : 0x0
+double_min == uint_max : 0x0
+double_min == ulong_max : 0x0
+double_min == double_min : 0x1
+double_min == double_max : 0x0
+double_min == float_min : 0x0
+double_min == float_max : 0x0
+double_min != zero_min : 0x1
+double_min != zero_plus : 0x1
+double_min != zero : 0x1
+double_min != NaN : 0x1
+double_min != Inf_plus : 0x1
+double_min != Inf_min : 0x1
+double_min != Inf : 0x1
+double_min != long_max : 0x1
+double_min != long_min : 0x1
+double_min != int_max : 0x1
+double_min != int_min : 0x1
+double_min != uint_max : 0x1
+double_min != ulong_max : 0x1
+double_min != double_min : 0x0
+double_min != double_max : 0x1
+double_min != float_min : 0x1
+double_min != float_max : 0x1
+double_min * double_min * zero_min : 0x0
+double_min * double_min * zero_plus : 0x0
+double_min * double_min * zero : 0x0
+double_min * double_min * NaN : NaN
+double_min * double_min * Inf_plus : NaN
+double_min * double_min * Inf_min : NaN
+double_min * double_min * Inf : NaN
+double_min * double_min * long_max : 0x0
+double_min * double_min * long_min : 0x0
+double_min * double_min * int_max : 0x0
+double_min * double_min * int_min : 0x0
+double_min * double_min * uint_max : 0x0
+double_min * double_min * ulong_max : 0x0
+double_min * double_min * double_min : 0x0
+double_min * double_min * double_max : 0x0
+double_min * double_min * float_min : 0x0
+double_min * double_min * float_max : 0x0
+double_max / zero_min : -Inf
+double_max / zero_plus : Inf
+double_max / zero : Inf
+double_max / NaN : NaN
+double_max / Inf_plus : 0x0
+double_max / Inf_min : 0x0
+double_max / Inf : 0x0
+double_max / long_max : 0x1fffffffffffffe+227
+double_max / long_min : 0xe0000000000001e+227
+double_max / int_max : 0x200000004e+240
+double_max / int_min : 0xe0000000000001e+235
+double_max / uint_max : 0x100000001e+240
+double_max / ulong_max : 0x0fffffffffffff8e+226
+double_max / double_min : Inf
+double_max / double_max : 0x1
+double_max / float_min : Inf
+double_max / float_max : 0x1000001000001e+212
+double_max * zero_min : 0x0
+double_max * zero_plus : 0x0
+double_max * zero : 0x0
+double_max * NaN : NaN
+double_max * Inf_plus : Inf
+double_max * Inf_min : -Inf
+double_max * Inf : Inf
+double_max * long_max : Inf
+double_max * long_min : -Inf
+double_max * int_max : Inf
+double_max * int_min : -Inf
+double_max * uint_max : Inf
+double_max * ulong_max : Inf
+double_max * double_min : 0x3.ffffffffffffe
+double_max * double_max : Inf
+double_max * float_min : 0x3ffffffffffffee+211
+double_max * float_max : Inf
+double_max + zero_min : 0x0fffffffffffff8e+242
+double_max + zero_plus : 0x0fffffffffffff8e+242
+double_max + zero : 0x0fffffffffffff8e+242
+double_max + NaN : NaN
+double_max + Inf_plus : Inf
+double_max + Inf_min : -Inf
+double_max + Inf : Inf
+double_max + long_max : 0x0fffffffffffff8e+242
+double_max + long_min : 0x0fffffffffffff8e+242
+double_max + int_max : 0x0fffffffffffff8e+242
+double_max + int_min : 0x0fffffffffffff8e+242
+double_max + uint_max : 0x0fffffffffffff8e+242
+double_max + ulong_max : 0x0fffffffffffff8e+242
+double_max + double_min : 0x0fffffffffffff8e+242
+double_max + double_max : Inf
+double_max + float_min : 0x0fffffffffffff8e+242
+double_max + float_max : 0x0fffffffffffff8e+242
+double_max - zero_min : 0x0fffffffffffff8e+242
+double_max - zero_plus : 0x0fffffffffffff8e+242
+double_max - zero : 0x0fffffffffffff8e+242
+double_max - NaN : NaN
+double_max - Inf_plus : -Inf
+double_max - Inf_min : Inf
+double_max - Inf : -Inf
+double_max - long_max : 0x0fffffffffffff8e+242
+double_max - long_min : 0x0fffffffffffff8e+242
+double_max - int_max : 0x0fffffffffffff8e+242
+double_max - int_min : 0x0fffffffffffff8e+242
+double_max - uint_max : 0x0fffffffffffff8e+242
+double_max - ulong_max : 0x0fffffffffffff8e+242
+double_max - double_min : 0x0fffffffffffff8e+242
+double_max - double_max : 0x0
+double_max - float_min : 0x0fffffffffffff8e+242
+double_max - float_max : 0x0fffffffffffff8e+242
+double_max > zero_min : 0x1
+double_max > zero_plus : 0x1
+double_max > zero : 0x1
+double_max > NaN : 0x0
+double_max > Inf_plus : 0x0
+double_max > Inf_min : 0x1
+double_max > Inf : 0x0
+double_max > long_max : 0x1
+double_max > long_min : 0x1
+double_max > int_max : 0x1
+double_max > int_min : 0x1
+double_max > uint_max : 0x1
+double_max > ulong_max : 0x1
+double_max > double_min : 0x1
+double_max > double_max : 0x0
+double_max > float_min : 0x1
+double_max > float_max : 0x1
+double_max < zero_min : 0x0
+double_max < zero_plus : 0x0
+double_max < zero : 0x0
+double_max < NaN : 0x0
+double_max < Inf_plus : 0x1
+double_max < Inf_min : 0x0
+double_max < Inf : 0x1
+double_max < long_max : 0x0
+double_max < long_min : 0x0
+double_max < int_max : 0x0
+double_max < int_min : 0x0
+double_max < uint_max : 0x0
+double_max < ulong_max : 0x0
+double_max < double_min : 0x0
+double_max < double_max : 0x0
+double_max < float_min : 0x0
+double_max < float_max : 0x0
+double_max >= zero_min : 0x1
+double_max >= zero_plus : 0x1
+double_max >= zero : 0x1
+double_max >= NaN : 0x0
+double_max >= Inf_plus : 0x0
+double_max >= Inf_min : 0x1
+double_max >= Inf : 0x0
+double_max >= long_max : 0x1
+double_max >= long_min : 0x1
+double_max >= int_max : 0x1
+double_max >= int_min : 0x1
+double_max >= uint_max : 0x1
+double_max >= ulong_max : 0x1
+double_max >= double_min : 0x1
+double_max >= double_max : 0x1
+double_max >= float_min : 0x1
+double_max >= float_max : 0x1
+double_max <= zero_min : 0x0
+double_max <= zero_plus : 0x0
+double_max <= zero : 0x0
+double_max <= NaN : 0x0
+double_max <= Inf_plus : 0x1
+double_max <= Inf_min : 0x0
+double_max <= Inf : 0x1
+double_max <= long_max : 0x0
+double_max <= long_min : 0x0
+double_max <= int_max : 0x0
+double_max <= int_min : 0x0
+double_max <= uint_max : 0x0
+double_max <= ulong_max : 0x0
+double_max <= double_min : 0x0
+double_max <= double_max : 0x1
+double_max <= float_min : 0x0
+double_max <= float_max : 0x0
+double_max == zero_min : 0x0
+double_max == zero_plus : 0x0
+double_max == zero : 0x0
+double_max == NaN : 0x0
+double_max == Inf_plus : 0x0
+double_max == Inf_min : 0x0
+double_max == Inf : 0x0
+double_max == long_max : 0x0
+double_max == long_min : 0x0
+double_max == int_max : 0x0
+double_max == int_min : 0x0
+double_max == uint_max : 0x0
+double_max == ulong_max : 0x0
+double_max == double_min : 0x0
+double_max == double_max : 0x1
+double_max == float_min : 0x0
+double_max == float_max : 0x0
+double_max != zero_min : 0x1
+double_max != zero_plus : 0x1
+double_max != zero : 0x1
+double_max != NaN : 0x1
+double_max != Inf_plus : 0x1
+double_max != Inf_min : 0x1
+double_max != Inf : 0x1
+double_max != long_max : 0x1
+double_max != long_min : 0x1
+double_max != int_max : 0x1
+double_max != int_min : 0x1
+double_max != uint_max : 0x1
+double_max != ulong_max : 0x1
+double_max != double_min : 0x1
+double_max != double_max : 0x0
+double_max != float_min : 0x1
+double_max != float_max : 0x1
+double_max * double_max * zero_min : NaN
+double_max * double_max * zero_plus : NaN
+double_max * double_max * zero : NaN
+double_max * double_max * NaN : NaN
+double_max * double_max * Inf_plus : Inf
+double_max * double_max * Inf_min : -Inf
+double_max * double_max * Inf : Inf
+double_max * double_max * long_max : Inf
+double_max * double_max * long_min : -Inf
+double_max * double_max * int_max : Inf
+double_max * double_max * int_min : -Inf
+double_max * double_max * uint_max : Inf
+double_max * double_max * ulong_max : Inf
+double_max * double_max * double_min : Inf
+double_max * double_max * double_max : Inf
+double_max * double_max * float_min : Inf
+double_max * double_max * float_max : Inf
+float_min / zero_min : -Inf
+float_min / zero_plus : Inf
+float_min / zero : Inf
+float_min / NaN : NaN
+float_min / Inf_plus : 0x0
+float_min / Inf_min : 0x0
+float_min / Inf : 0x0
+float_min / long_max : 0x.08e-46
+float_min / long_min : 0x.8e-47
+float_min / int_max : 0x.080000001e-38
+float_min / int_min : 0x.8e-39
+float_min / uint_max : 0x.400000004e-39
+float_min / ulong_max : 0x.4e-47
+float_min / double_min : 0x1e+224
+float_min / double_max : 0x0
+float_min / float_min : 0x1
+float_min / float_max : 0x.4000004000004e-63
+float_min * zero_min : 0x0
+float_min * zero_plus : 0x0
+float_min * zero : 0x0
+float_min * NaN : NaN
+float_min * Inf_plus : Inf
+float_min * Inf_min : -Inf
+float_min * Inf : Inf
+float_min * long_max : 0x.2e-15
+float_min * long_min : 0x.ee-15
+float_min * int_max : 0x.1fffffffce-23
+float_min * int_min : 0x.ee-23
+float_min * uint_max : 0x.3fffffffce-23
+float_min * ulong_max : 0x.4e-15
+float_min * double_min : 0x0
+float_min * double_max : 0x3ffffffffffffee+211
+float_min * float_min : 0x.1e-62
+float_min * float_max : 0x3.fffffc
+float_min + zero_min : 0x.4e-31
+float_min + zero_plus : 0x.4e-31
+float_min + zero : 0x.4e-31
+float_min + NaN : NaN
+float_min + Inf_plus : Inf
+float_min + Inf_min : -Inf
+float_min + Inf : Inf
+float_min + long_max : 0x08e+15
+float_min + long_min : 0x8e+15
+float_min + int_max : 0x7fffffff
+float_min + int_min : 0x8e+7
+float_min + uint_max : 0x0ffffffff
+float_min + ulong_max : 0x1e+16
+float_min + double_min : 0x.4e-31
+float_min + double_max : 0x0fffffffffffff8e+242
+float_min + float_min : 0x.08e-30
+float_min + float_max : 0x0ffffffe+26
+float_min - zero_min : 0x.4e-31
+float_min - zero_plus : 0x.4e-31
+float_min - zero : 0x.4e-31
+float_min - NaN : NaN
+float_min - Inf_plus : -Inf
+float_min - Inf_min : Inf
+float_min - Inf : -Inf
+float_min - long_max : 0x8e+15
+float_min - long_min : 0x08e+15
+float_min - int_max : 0x80000001
+float_min - int_min : 0x08e+7
+float_min - uint_max : 0xf00000001
+float_min - ulong_max : 0xfe+16
+float_min - double_min : 0x.4e-31
+float_min - double_max : 0xf00000000000008e+242
+float_min - float_min : 0x0
+float_min - float_max : 0xf000001e+26
+float_min > zero_min : 0x1
+float_min > zero_plus : 0x1
+float_min > zero : 0x1
+float_min > NaN : 0x0
+float_min > Inf_plus : 0x0
+float_min > Inf_min : 0x1
+float_min > Inf : 0x0
+float_min > long_max : 0x0
+float_min > long_min : 0x1
+float_min > int_max : 0x0
+float_min > int_min : 0x1
+float_min > uint_max : 0x0
+float_min > ulong_max : 0x0
+float_min > double_min : 0x1
+float_min > double_max : 0x0
+float_min > float_min : 0x0
+float_min > float_max : 0x0
+float_min < zero_min : 0x0
+float_min < zero_plus : 0x0
+float_min < zero : 0x0
+float_min < NaN : 0x0
+float_min < Inf_plus : 0x1
+float_min < Inf_min : 0x0
+float_min < Inf : 0x1
+float_min < long_max : 0x1
+float_min < long_min : 0x0
+float_min < int_max : 0x1
+float_min < int_min : 0x0
+float_min < uint_max : 0x1
+float_min < ulong_max : 0x1
+float_min < double_min : 0x0
+float_min < double_max : 0x1
+float_min < float_min : 0x0
+float_min < float_max : 0x1
+float_min >= zero_min : 0x1
+float_min >= zero_plus : 0x1
+float_min >= zero : 0x1
+float_min >= NaN : 0x0
+float_min >= Inf_plus : 0x0
+float_min >= Inf_min : 0x1
+float_min >= Inf : 0x0
+float_min >= long_max : 0x0
+float_min >= long_min : 0x1
+float_min >= int_max : 0x0
+float_min >= int_min : 0x1
+float_min >= uint_max : 0x0
+float_min >= ulong_max : 0x0
+float_min >= double_min : 0x1
+float_min >= double_max : 0x0
+float_min >= float_min : 0x1
+float_min >= float_max : 0x0
+float_min <= zero_min : 0x0
+float_min <= zero_plus : 0x0
+float_min <= zero : 0x0
+float_min <= NaN : 0x0
+float_min <= Inf_plus : 0x1
+float_min <= Inf_min : 0x0
+float_min <= Inf : 0x1
+float_min <= long_max : 0x1
+float_min <= long_min : 0x0
+float_min <= int_max : 0x1
+float_min <= int_min : 0x0
+float_min <= uint_max : 0x1
+float_min <= ulong_max : 0x1
+float_min <= double_min : 0x0
+float_min <= double_max : 0x1
+float_min <= float_min : 0x1
+float_min <= float_max : 0x1
+float_min == zero_min : 0x0
+float_min == zero_plus : 0x0
+float_min == zero : 0x0
+float_min == NaN : 0x0
+float_min == Inf_plus : 0x0
+float_min == Inf_min : 0x0
+float_min == Inf : 0x0
+float_min == long_max : 0x0
+float_min == long_min : 0x0
+float_min == int_max : 0x0
+float_min == int_min : 0x0
+float_min == uint_max : 0x0
+float_min == ulong_max : 0x0
+float_min == double_min : 0x0
+float_min == double_max : 0x0
+float_min == float_min : 0x1
+float_min == float_max : 0x0
+float_min != zero_min : 0x1
+float_min != zero_plus : 0x1
+float_min != zero : 0x1
+float_min != NaN : 0x1
+float_min != Inf_plus : 0x1
+float_min != Inf_min : 0x1
+float_min != Inf : 0x1
+float_min != long_max : 0x1
+float_min != long_min : 0x1
+float_min != int_max : 0x1
+float_min != int_min : 0x1
+float_min != uint_max : 0x1
+float_min != ulong_max : 0x1
+float_min != double_min : 0x1
+float_min != double_max : 0x1
+float_min != float_min : 0x0
+float_min != float_max : 0x1
+float_min * float_min * zero_min : 0x0
+float_min * float_min * zero_plus : 0x0
+float_min * float_min * zero : 0x0
+float_min * float_min * NaN : NaN
+float_min * float_min * Inf_plus : Inf
+float_min * float_min * Inf_min : -Inf
+float_min * float_min * Inf : Inf
+float_min * float_min * long_max : 0x.08e-46
+float_min * float_min * long_min : 0x.8e-47
+float_min * float_min * int_max : 0x.7fffffffe-55
+float_min * float_min * int_min : 0x.8e-55
+float_min * float_min * uint_max : 0x.0ffffffffe-54
+float_min * float_min * ulong_max : 0x.1e-46
+float_min * float_min * double_min : 0x0
+float_min * float_min * double_max : 0x0fffffffffffff8e+179
+float_min * float_min * float_min : 0x.4e-94
+float_min * float_min * float_max : 0x.0ffffffe-30
+float_max / zero_min : -Inf
+float_max / zero_plus : Inf
+float_max / zero : Inf
+float_max / NaN : NaN
+float_max / Inf_plus : 0x0
+float_max / Inf_min : 0x0
+float_max / Inf : 0x0
+float_max / long_max : 0x1fffffee+10
+float_max / long_min : 0xe000002e+10
+float_max / int_max : 0x1fffffe04e+16
+float_max / int_min : 0xe000002e+18
+float_max / uint_max : 0x0ffffff01e+16
+float_max / ulong_max : 0x0ffffffe+10
+float_max / double_min : Inf
+float_max / double_max : 0x.0ffffff00000008e-223
+float_max / float_min : 0x3fffffce+57
+float_max / float_max : 0x1
+float_max * zero_min : 0x0
+float_max * zero_plus : 0x0
+float_max * zero : 0x0
+float_max * NaN : NaN
+float_max * Inf_plus : Inf
+float_max * Inf_min : -Inf
+float_max * Inf : Inf
+float_max * long_max : 0x7fffff8e+41
+float_max * long_min : 0x8000008e+41
+float_max * int_max : 0x7fffff7fe+32
+float_max * int_min : 0x8000008e+33
+float_max * uint_max : 0x0fffffeffe+32
+float_max * ulong_max : 0x0ffffffe+42
+float_max * double_min : 0x.3fffffce-223
+float_max * double_max : Inf
+float_max * float_min : 0x3.fffffc
+float_max * float_max : 0x0fffffe000001e+52
+float_max + zero_min : 0x0ffffffe+26
+float_max + zero_plus : 0x0ffffffe+26
+float_max + zero : 0x0ffffffe+26
+float_max + NaN : NaN
+float_max + Inf_plus : Inf
+float_max + Inf_min : -Inf
+float_max + Inf : Inf
+float_max + long_max : 0x0ffffffe+26
+float_max + long_min : 0x0ffffffe+26
+float_max + int_max : 0x0ffffffe+26
+float_max + int_min : 0x0ffffffe+26
+float_max + uint_max : 0x0ffffffe+26
+float_max + ulong_max : 0x0ffffffe+26
+float_max + double_min : 0x0ffffffe+26
+float_max + double_max : 0x0fffffffffffff8e+242
+float_max + float_min : 0x0ffffffe+26
+float_max + float_max : 0x1fffffee+26
+float_max - zero_min : 0x0ffffffe+26
+float_max - zero_plus : 0x0ffffffe+26
+float_max - zero : 0x0ffffffe+26
+float_max - NaN : NaN
+float_max - Inf_plus : -Inf
+float_max - Inf_min : Inf
+float_max - Inf : -Inf
+float_max - long_max : 0x0ffffffe+26
+float_max - long_min : 0x0ffffffe+26
+float_max - int_max : 0x0ffffffe+26
+float_max - int_min : 0x0ffffffe+26
+float_max - uint_max : 0x0ffffffe+26
+float_max - ulong_max : 0x0ffffffe+26
+float_max - double_min : 0x0ffffffe+26
+float_max - double_max : 0xf00000000000008e+242
+float_max - float_min : 0x0ffffffe+26
+float_max - float_max : 0x0
+float_max > zero_min : 0x1
+float_max > zero_plus : 0x1
+float_max > zero : 0x1
+float_max > NaN : 0x0
+float_max > Inf_plus : 0x0
+float_max > Inf_min : 0x1
+float_max > Inf : 0x0
+float_max > long_max : 0x1
+float_max > long_min : 0x1
+float_max > int_max : 0x1
+float_max > int_min : 0x1
+float_max > uint_max : 0x1
+float_max > ulong_max : 0x1
+float_max > double_min : 0x1
+float_max > double_max : 0x0
+float_max > float_min : 0x1
+float_max > float_max : 0x0
+float_max < zero_min : 0x0
+float_max < zero_plus : 0x0
+float_max < zero : 0x0
+float_max < NaN : 0x0
+float_max < Inf_plus : 0x1
+float_max < Inf_min : 0x0
+float_max < Inf : 0x1
+float_max < long_max : 0x0
+float_max < long_min : 0x0
+float_max < int_max : 0x0
+float_max < int_min : 0x0
+float_max < uint_max : 0x0
+float_max < ulong_max : 0x0
+float_max < double_min : 0x0
+float_max < double_max : 0x1
+float_max < float_min : 0x0
+float_max < float_max : 0x0
+float_max >= zero_min : 0x1
+float_max >= zero_plus : 0x1
+float_max >= zero : 0x1
+float_max >= NaN : 0x0
+float_max >= Inf_plus : 0x0
+float_max >= Inf_min : 0x1
+float_max >= Inf : 0x0
+float_max >= long_max : 0x1
+float_max >= long_min : 0x1
+float_max >= int_max : 0x1
+float_max >= int_min : 0x1
+float_max >= uint_max : 0x1
+float_max >= ulong_max : 0x1
+float_max >= double_min : 0x1
+float_max >= double_max : 0x0
+float_max >= float_min : 0x1
+float_max >= float_max : 0x1
+float_max <= zero_min : 0x0
+float_max <= zero_plus : 0x0
+float_max <= zero : 0x0
+float_max <= NaN : 0x0
+float_max <= Inf_plus : 0x1
+float_max <= Inf_min : 0x0
+float_max <= Inf : 0x1
+float_max <= long_max : 0x0
+float_max <= long_min : 0x0
+float_max <= int_max : 0x0
+float_max <= int_min : 0x0
+float_max <= uint_max : 0x0
+float_max <= ulong_max : 0x0
+float_max <= double_min : 0x0
+float_max <= double_max : 0x1
+float_max <= float_min : 0x0
+float_max <= float_max : 0x1
+float_max == zero_min : 0x0
+float_max == zero_plus : 0x0
+float_max == zero : 0x0
+float_max == NaN : 0x0
+float_max == Inf_plus : 0x0
+float_max == Inf_min : 0x0
+float_max == Inf : 0x0
+float_max == long_max : 0x0
+float_max == long_min : 0x0
+float_max == int_max : 0x0
+float_max == int_min : 0x0
+float_max == uint_max : 0x0
+float_max == ulong_max : 0x0
+float_max == double_min : 0x0
+float_max == double_max : 0x0
+float_max == float_min : 0x0
+float_max == float_max : 0x1
+float_max != zero_min : 0x1
+float_max != zero_plus : 0x1
+float_max != zero : 0x1
+float_max != NaN : 0x1
+float_max != Inf_plus : 0x1
+float_max != Inf_min : 0x1
+float_max != Inf : 0x1
+float_max != long_max : 0x1
+float_max != long_min : 0x1
+float_max != int_max : 0x1
+float_max != int_min : 0x1
+float_max != uint_max : 0x1
+float_max != ulong_max : 0x1
+float_max != double_min : 0x1
+float_max != double_max : 0x1
+float_max != float_min : 0x1
+float_max != float_max : 0x0
+float_max * float_max * zero_min : 0x0
+float_max * float_max * zero_plus : 0x0
+float_max * float_max * zero : 0x0
+float_max * float_max * NaN : NaN
+float_max * float_max * Inf_plus : Inf
+float_max * float_max * Inf_min : -Inf
+float_max * float_max * Inf : Inf
+float_max * float_max * long_max : 0x7fffff0000008e+67
+float_max * float_max * long_min : 0x800000ffffff8e+67
+float_max * float_max * int_max : 0x7ffffeff00008e+59
+float_max * float_max * int_min : 0x800000ffffff8e+59
+float_max * float_max * uint_max : 0x0fffffdff0001e+60
+float_max * float_max * ulong_max : 0x0fffffe000001e+68
+float_max * float_max * double_min : 0x.3fffff8000004e-191
+float_max * float_max * double_max : Inf
+float_max * float_max * float_min : 0x3fffff8000004e+20
+float_max * float_max * float_max : 0x0fffffd000003e+84
+double_min / NaN : NaN
+****************** limits fx_ufix
+****************** limits fx_ufix_zero
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x000000000
+long_min : 0x000000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x000000000
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_Inf
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x000000000
+long_min : 0x000000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x000000000
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_long
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x000000000
+long_min : 0x000000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x000000000
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_double
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x000000000
+long_min : 0x000000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x000000000
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_fix
+****************** limits fx_fix_zero
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x00000000
+long_min : 0x00000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0x00000000
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_Inf
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x00000000
+long_min : 0x00000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0x00000000
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_long
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x00000000
+long_min : 0x00000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0x00000000
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_double
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x00000000
+long_min : 0x00000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0x00000000
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fixed<8, 5>
+****************** limits fx_fixed<8, 5>_zero
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_Inf
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_long
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_double
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>
+****************** limits fx_ufixed<8, 5>_zero
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_Inf
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_long
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_double
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.macosx b/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.macosx
new file mode 100644
index 000000000..847536547
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.macosx
@@ -0,0 +1,3482 @@
+SystemC Simulation
+****************** limits fx_float_zero
+****************** limits fx_float_inf
+****************** limits fx_float
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x7fffffff
+long_min : 0x8e+7
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+zero_min / zero_min : NaN
+zero_min / zero_plus : NaN
+zero_min / zero : NaN
+zero_min / NaN : NaN
+zero_min / Inf_plus : 0x0
+zero_min / Inf_min : 0x0
+zero_min / Inf : 0x0
+zero_min / long_max : 0x0
+zero_min / long_min : 0x0
+zero_min / int_max : 0x0
+zero_min / int_min : 0x0
+zero_min / uint_max : 0x0
+zero_min / ulong_max : 0x0
+zero_min / double_min : 0x0
+zero_min / double_max : 0x0
+zero_min / float_min : 0x0
+zero_min / float_max : 0x0
+zero_min * zero_min : 0x0
+zero_min * zero_plus : 0x0
+zero_min * zero : 0x0
+zero_min * NaN : NaN
+zero_min * Inf_plus : NaN
+zero_min * Inf_min : NaN
+zero_min * Inf : NaN
+zero_min * long_max : 0x0
+zero_min * long_min : 0x0
+zero_min * int_max : 0x0
+zero_min * int_min : 0x0
+zero_min * uint_max : 0x0
+zero_min * ulong_max : 0x0
+zero_min * double_min : 0x0
+zero_min * double_max : 0x0
+zero_min * float_min : 0x0
+zero_min * float_max : 0x0
+zero_min + zero_min : 0x0
+zero_min + zero_plus : 0x0
+zero_min + zero : 0x0
+zero_min + NaN : NaN
+zero_min + Inf_plus : Inf
+zero_min + Inf_min : -Inf
+zero_min + Inf : Inf
+zero_min + long_max : 0x7fffffff
+zero_min + long_min : 0x8e+7
+zero_min + int_max : 0x7fffffff
+zero_min + int_min : 0x8e+7
+zero_min + uint_max : 0x0ffffffff
+zero_min + ulong_max : 0x0ffffffff
+zero_min + double_min : 0x.4e-255
+zero_min + double_max : 0x0fffffffffffff8e+242
+zero_min + float_min : 0x.4e-31
+zero_min + float_max : 0x0ffffffe+26
+zero_min - zero_min : 0x0
+zero_min - zero_plus : 0x0
+zero_min - zero : 0x0
+zero_min - NaN : NaN
+zero_min - Inf_plus : -Inf
+zero_min - Inf_min : Inf
+zero_min - Inf : -Inf
+zero_min - long_max : 0x80000001
+zero_min - long_min : 0x08e+7
+zero_min - int_max : 0x80000001
+zero_min - int_min : 0x08e+7
+zero_min - uint_max : 0xf00000001
+zero_min - ulong_max : 0xf00000001
+zero_min - double_min : 0x.ce-255
+zero_min - double_max : 0xf00000000000008e+242
+zero_min - float_min : 0x.ce-31
+zero_min - float_max : 0xf000001e+26
+zero_min > zero_min : 0x0
+zero_min > zero_plus : 0x0
+zero_min > zero : 0x0
+zero_min > NaN : 0x0
+zero_min > Inf_plus : 0x0
+zero_min > Inf_min : 0x1
+zero_min > Inf : 0x0
+zero_min > long_max : 0x0
+zero_min > long_min : 0x1
+zero_min > int_max : 0x0
+zero_min > int_min : 0x1
+zero_min > uint_max : 0x0
+zero_min > ulong_max : 0x0
+zero_min > double_min : 0x0
+zero_min > double_max : 0x0
+zero_min > float_min : 0x0
+zero_min > float_max : 0x0
+zero_min < zero_min : 0x0
+zero_min < zero_plus : 0x0
+zero_min < zero : 0x0
+zero_min < NaN : 0x0
+zero_min < Inf_plus : 0x1
+zero_min < Inf_min : 0x0
+zero_min < Inf : 0x1
+zero_min < long_max : 0x1
+zero_min < long_min : 0x0
+zero_min < int_max : 0x1
+zero_min < int_min : 0x0
+zero_min < uint_max : 0x1
+zero_min < ulong_max : 0x1
+zero_min < double_min : 0x1
+zero_min < double_max : 0x1
+zero_min < float_min : 0x1
+zero_min < float_max : 0x1
+zero_min >= zero_min : 0x1
+zero_min >= zero_plus : 0x1
+zero_min >= zero : 0x1
+zero_min >= NaN : 0x0
+zero_min >= Inf_plus : 0x0
+zero_min >= Inf_min : 0x1
+zero_min >= Inf : 0x0
+zero_min >= long_max : 0x0
+zero_min >= long_min : 0x1
+zero_min >= int_max : 0x0
+zero_min >= int_min : 0x1
+zero_min >= uint_max : 0x0
+zero_min >= ulong_max : 0x0
+zero_min >= double_min : 0x0
+zero_min >= double_max : 0x0
+zero_min >= float_min : 0x0
+zero_min >= float_max : 0x0
+zero_min <= zero_min : 0x1
+zero_min <= zero_plus : 0x1
+zero_min <= zero : 0x1
+zero_min <= NaN : 0x0
+zero_min <= Inf_plus : 0x1
+zero_min <= Inf_min : 0x0
+zero_min <= Inf : 0x1
+zero_min <= long_max : 0x1
+zero_min <= long_min : 0x0
+zero_min <= int_max : 0x1
+zero_min <= int_min : 0x0
+zero_min <= uint_max : 0x1
+zero_min <= ulong_max : 0x1
+zero_min <= double_min : 0x1
+zero_min <= double_max : 0x1
+zero_min <= float_min : 0x1
+zero_min <= float_max : 0x1
+zero_min == zero_min : 0x1
+zero_min == zero_plus : 0x1
+zero_min == zero : 0x1
+zero_min == NaN : 0x0
+zero_min == Inf_plus : 0x0
+zero_min == Inf_min : 0x0
+zero_min == Inf : 0x0
+zero_min == long_max : 0x0
+zero_min == long_min : 0x0
+zero_min == int_max : 0x0
+zero_min == int_min : 0x0
+zero_min == uint_max : 0x0
+zero_min == ulong_max : 0x0
+zero_min == double_min : 0x0
+zero_min == double_max : 0x0
+zero_min == float_min : 0x0
+zero_min == float_max : 0x0
+zero_min != zero_min : 0x0
+zero_min != zero_plus : 0x0
+zero_min != zero : 0x0
+zero_min != NaN : 0x1
+zero_min != Inf_plus : 0x1
+zero_min != Inf_min : 0x1
+zero_min != Inf : 0x1
+zero_min != long_max : 0x1
+zero_min != long_min : 0x1
+zero_min != int_max : 0x1
+zero_min != int_min : 0x1
+zero_min != uint_max : 0x1
+zero_min != ulong_max : 0x1
+zero_min != double_min : 0x1
+zero_min != double_max : 0x1
+zero_min != float_min : 0x1
+zero_min != float_max : 0x1
+zero_min * zero_min * zero_min : 0x0
+zero_min * zero_min * zero_plus : 0x0
+zero_min * zero_min * zero : 0x0
+zero_min * zero_min * NaN : NaN
+zero_min * zero_min * Inf_plus : NaN
+zero_min * zero_min * Inf_min : NaN
+zero_min * zero_min * Inf : NaN
+zero_min * zero_min * long_max : 0x0
+zero_min * zero_min * long_min : 0x0
+zero_min * zero_min * int_max : 0x0
+zero_min * zero_min * int_min : 0x0
+zero_min * zero_min * uint_max : 0x0
+zero_min * zero_min * ulong_max : 0x0
+zero_min * zero_min * double_min : 0x0
+zero_min * zero_min * double_max : 0x0
+zero_min * zero_min * float_min : 0x0
+zero_min * zero_min * float_max : 0x0
+zero_plus / zero_min : NaN
+zero_plus / zero_plus : NaN
+zero_plus / zero : NaN
+zero_plus / NaN : NaN
+zero_plus / Inf_plus : 0x0
+zero_plus / Inf_min : 0x0
+zero_plus / Inf : 0x0
+zero_plus / long_max : 0x0
+zero_plus / long_min : 0x0
+zero_plus / int_max : 0x0
+zero_plus / int_min : 0x0
+zero_plus / uint_max : 0x0
+zero_plus / ulong_max : 0x0
+zero_plus / double_min : 0x0
+zero_plus / double_max : 0x0
+zero_plus / float_min : 0x0
+zero_plus / float_max : 0x0
+zero_plus * zero_min : 0x0
+zero_plus * zero_plus : 0x0
+zero_plus * zero : 0x0
+zero_plus * NaN : NaN
+zero_plus * Inf_plus : NaN
+zero_plus * Inf_min : NaN
+zero_plus * Inf : NaN
+zero_plus * long_max : 0x0
+zero_plus * long_min : 0x0
+zero_plus * int_max : 0x0
+zero_plus * int_min : 0x0
+zero_plus * uint_max : 0x0
+zero_plus * ulong_max : 0x0
+zero_plus * double_min : 0x0
+zero_plus * double_max : 0x0
+zero_plus * float_min : 0x0
+zero_plus * float_max : 0x0
+zero_plus + zero_min : 0x0
+zero_plus + zero_plus : 0x0
+zero_plus + zero : 0x0
+zero_plus + NaN : NaN
+zero_plus + Inf_plus : Inf
+zero_plus + Inf_min : -Inf
+zero_plus + Inf : Inf
+zero_plus + long_max : 0x7fffffff
+zero_plus + long_min : 0x8e+7
+zero_plus + int_max : 0x7fffffff
+zero_plus + int_min : 0x8e+7
+zero_plus + uint_max : 0x0ffffffff
+zero_plus + ulong_max : 0x0ffffffff
+zero_plus + double_min : 0x.4e-255
+zero_plus + double_max : 0x0fffffffffffff8e+242
+zero_plus + float_min : 0x.4e-31
+zero_plus + float_max : 0x0ffffffe+26
+zero_plus - zero_min : 0x0
+zero_plus - zero_plus : 0x0
+zero_plus - zero : 0x0
+zero_plus - NaN : NaN
+zero_plus - Inf_plus : -Inf
+zero_plus - Inf_min : Inf
+zero_plus - Inf : -Inf
+zero_plus - long_max : 0x80000001
+zero_plus - long_min : 0x08e+7
+zero_plus - int_max : 0x80000001
+zero_plus - int_min : 0x08e+7
+zero_plus - uint_max : 0xf00000001
+zero_plus - ulong_max : 0xf00000001
+zero_plus - double_min : 0x.ce-255
+zero_plus - double_max : 0xf00000000000008e+242
+zero_plus - float_min : 0x.ce-31
+zero_plus - float_max : 0xf000001e+26
+zero_plus > zero_min : 0x0
+zero_plus > zero_plus : 0x0
+zero_plus > zero : 0x0
+zero_plus > NaN : 0x0
+zero_plus > Inf_plus : 0x0
+zero_plus > Inf_min : 0x1
+zero_plus > Inf : 0x0
+zero_plus > long_max : 0x0
+zero_plus > long_min : 0x1
+zero_plus > int_max : 0x0
+zero_plus > int_min : 0x1
+zero_plus > uint_max : 0x0
+zero_plus > ulong_max : 0x0
+zero_plus > double_min : 0x0
+zero_plus > double_max : 0x0
+zero_plus > float_min : 0x0
+zero_plus > float_max : 0x0
+zero_plus < zero_min : 0x0
+zero_plus < zero_plus : 0x0
+zero_plus < zero : 0x0
+zero_plus < NaN : 0x0
+zero_plus < Inf_plus : 0x1
+zero_plus < Inf_min : 0x0
+zero_plus < Inf : 0x1
+zero_plus < long_max : 0x1
+zero_plus < long_min : 0x0
+zero_plus < int_max : 0x1
+zero_plus < int_min : 0x0
+zero_plus < uint_max : 0x1
+zero_plus < ulong_max : 0x1
+zero_plus < double_min : 0x1
+zero_plus < double_max : 0x1
+zero_plus < float_min : 0x1
+zero_plus < float_max : 0x1
+zero_plus >= zero_min : 0x1
+zero_plus >= zero_plus : 0x1
+zero_plus >= zero : 0x1
+zero_plus >= NaN : 0x0
+zero_plus >= Inf_plus : 0x0
+zero_plus >= Inf_min : 0x1
+zero_plus >= Inf : 0x0
+zero_plus >= long_max : 0x0
+zero_plus >= long_min : 0x1
+zero_plus >= int_max : 0x0
+zero_plus >= int_min : 0x1
+zero_plus >= uint_max : 0x0
+zero_plus >= ulong_max : 0x0
+zero_plus >= double_min : 0x0
+zero_plus >= double_max : 0x0
+zero_plus >= float_min : 0x0
+zero_plus >= float_max : 0x0
+zero_plus <= zero_min : 0x1
+zero_plus <= zero_plus : 0x1
+zero_plus <= zero : 0x1
+zero_plus <= NaN : 0x0
+zero_plus <= Inf_plus : 0x1
+zero_plus <= Inf_min : 0x0
+zero_plus <= Inf : 0x1
+zero_plus <= long_max : 0x1
+zero_plus <= long_min : 0x0
+zero_plus <= int_max : 0x1
+zero_plus <= int_min : 0x0
+zero_plus <= uint_max : 0x1
+zero_plus <= ulong_max : 0x1
+zero_plus <= double_min : 0x1
+zero_plus <= double_max : 0x1
+zero_plus <= float_min : 0x1
+zero_plus <= float_max : 0x1
+zero_plus == zero_min : 0x1
+zero_plus == zero_plus : 0x1
+zero_plus == zero : 0x1
+zero_plus == NaN : 0x0
+zero_plus == Inf_plus : 0x0
+zero_plus == Inf_min : 0x0
+zero_plus == Inf : 0x0
+zero_plus == long_max : 0x0
+zero_plus == long_min : 0x0
+zero_plus == int_max : 0x0
+zero_plus == int_min : 0x0
+zero_plus == uint_max : 0x0
+zero_plus == ulong_max : 0x0
+zero_plus == double_min : 0x0
+zero_plus == double_max : 0x0
+zero_plus == float_min : 0x0
+zero_plus == float_max : 0x0
+zero_plus != zero_min : 0x0
+zero_plus != zero_plus : 0x0
+zero_plus != zero : 0x0
+zero_plus != NaN : 0x1
+zero_plus != Inf_plus : 0x1
+zero_plus != Inf_min : 0x1
+zero_plus != Inf : 0x1
+zero_plus != long_max : 0x1
+zero_plus != long_min : 0x1
+zero_plus != int_max : 0x1
+zero_plus != int_min : 0x1
+zero_plus != uint_max : 0x1
+zero_plus != ulong_max : 0x1
+zero_plus != double_min : 0x1
+zero_plus != double_max : 0x1
+zero_plus != float_min : 0x1
+zero_plus != float_max : 0x1
+zero_plus * zero_plus * zero_min : 0x0
+zero_plus * zero_plus * zero_plus : 0x0
+zero_plus * zero_plus * zero : 0x0
+zero_plus * zero_plus * NaN : NaN
+zero_plus * zero_plus * Inf_plus : NaN
+zero_plus * zero_plus * Inf_min : NaN
+zero_plus * zero_plus * Inf : NaN
+zero_plus * zero_plus * long_max : 0x0
+zero_plus * zero_plus * long_min : 0x0
+zero_plus * zero_plus * int_max : 0x0
+zero_plus * zero_plus * int_min : 0x0
+zero_plus * zero_plus * uint_max : 0x0
+zero_plus * zero_plus * ulong_max : 0x0
+zero_plus * zero_plus * double_min : 0x0
+zero_plus * zero_plus * double_max : 0x0
+zero_plus * zero_plus * float_min : 0x0
+zero_plus * zero_plus * float_max : 0x0
+zero / zero_min : NaN
+zero / zero_plus : NaN
+zero / zero : NaN
+zero / NaN : NaN
+zero / Inf_plus : 0x0
+zero / Inf_min : 0x0
+zero / Inf : 0x0
+zero / long_max : 0x0
+zero / long_min : 0x0
+zero / int_max : 0x0
+zero / int_min : 0x0
+zero / uint_max : 0x0
+zero / ulong_max : 0x0
+zero / double_min : 0x0
+zero / double_max : 0x0
+zero / float_min : 0x0
+zero / float_max : 0x0
+zero * zero_min : 0x0
+zero * zero_plus : 0x0
+zero * zero : 0x0
+zero * NaN : NaN
+zero * Inf_plus : NaN
+zero * Inf_min : NaN
+zero * Inf : NaN
+zero * long_max : 0x0
+zero * long_min : 0x0
+zero * int_max : 0x0
+zero * int_min : 0x0
+zero * uint_max : 0x0
+zero * ulong_max : 0x0
+zero * double_min : 0x0
+zero * double_max : 0x0
+zero * float_min : 0x0
+zero * float_max : 0x0
+zero + zero_min : 0x0
+zero + zero_plus : 0x0
+zero + zero : 0x0
+zero + NaN : NaN
+zero + Inf_plus : Inf
+zero + Inf_min : -Inf
+zero + Inf : Inf
+zero + long_max : 0x7fffffff
+zero + long_min : 0x8e+7
+zero + int_max : 0x7fffffff
+zero + int_min : 0x8e+7
+zero + uint_max : 0x0ffffffff
+zero + ulong_max : 0x0ffffffff
+zero + double_min : 0x.4e-255
+zero + double_max : 0x0fffffffffffff8e+242
+zero + float_min : 0x.4e-31
+zero + float_max : 0x0ffffffe+26
+zero - zero_min : 0x0
+zero - zero_plus : 0x0
+zero - zero : 0x0
+zero - NaN : NaN
+zero - Inf_plus : -Inf
+zero - Inf_min : Inf
+zero - Inf : -Inf
+zero - long_max : 0x80000001
+zero - long_min : 0x08e+7
+zero - int_max : 0x80000001
+zero - int_min : 0x08e+7
+zero - uint_max : 0xf00000001
+zero - ulong_max : 0xf00000001
+zero - double_min : 0x.ce-255
+zero - double_max : 0xf00000000000008e+242
+zero - float_min : 0x.ce-31
+zero - float_max : 0xf000001e+26
+zero > zero_min : 0x0
+zero > zero_plus : 0x0
+zero > zero : 0x0
+zero > NaN : 0x0
+zero > Inf_plus : 0x0
+zero > Inf_min : 0x1
+zero > Inf : 0x0
+zero > long_max : 0x0
+zero > long_min : 0x1
+zero > int_max : 0x0
+zero > int_min : 0x1
+zero > uint_max : 0x0
+zero > ulong_max : 0x0
+zero > double_min : 0x0
+zero > double_max : 0x0
+zero > float_min : 0x0
+zero > float_max : 0x0
+zero < zero_min : 0x0
+zero < zero_plus : 0x0
+zero < zero : 0x0
+zero < NaN : 0x0
+zero < Inf_plus : 0x1
+zero < Inf_min : 0x0
+zero < Inf : 0x1
+zero < long_max : 0x1
+zero < long_min : 0x0
+zero < int_max : 0x1
+zero < int_min : 0x0
+zero < uint_max : 0x1
+zero < ulong_max : 0x1
+zero < double_min : 0x1
+zero < double_max : 0x1
+zero < float_min : 0x1
+zero < float_max : 0x1
+zero >= zero_min : 0x1
+zero >= zero_plus : 0x1
+zero >= zero : 0x1
+zero >= NaN : 0x0
+zero >= Inf_plus : 0x0
+zero >= Inf_min : 0x1
+zero >= Inf : 0x0
+zero >= long_max : 0x0
+zero >= long_min : 0x1
+zero >= int_max : 0x0
+zero >= int_min : 0x1
+zero >= uint_max : 0x0
+zero >= ulong_max : 0x0
+zero >= double_min : 0x0
+zero >= double_max : 0x0
+zero >= float_min : 0x0
+zero >= float_max : 0x0
+zero <= zero_min : 0x1
+zero <= zero_plus : 0x1
+zero <= zero : 0x1
+zero <= NaN : 0x0
+zero <= Inf_plus : 0x1
+zero <= Inf_min : 0x0
+zero <= Inf : 0x1
+zero <= long_max : 0x1
+zero <= long_min : 0x0
+zero <= int_max : 0x1
+zero <= int_min : 0x0
+zero <= uint_max : 0x1
+zero <= ulong_max : 0x1
+zero <= double_min : 0x1
+zero <= double_max : 0x1
+zero <= float_min : 0x1
+zero <= float_max : 0x1
+zero == zero_min : 0x1
+zero == zero_plus : 0x1
+zero == zero : 0x1
+zero == NaN : 0x0
+zero == Inf_plus : 0x0
+zero == Inf_min : 0x0
+zero == Inf : 0x0
+zero == long_max : 0x0
+zero == long_min : 0x0
+zero == int_max : 0x0
+zero == int_min : 0x0
+zero == uint_max : 0x0
+zero == ulong_max : 0x0
+zero == double_min : 0x0
+zero == double_max : 0x0
+zero == float_min : 0x0
+zero == float_max : 0x0
+zero != zero_min : 0x0
+zero != zero_plus : 0x0
+zero != zero : 0x0
+zero != NaN : 0x1
+zero != Inf_plus : 0x1
+zero != Inf_min : 0x1
+zero != Inf : 0x1
+zero != long_max : 0x1
+zero != long_min : 0x1
+zero != int_max : 0x1
+zero != int_min : 0x1
+zero != uint_max : 0x1
+zero != ulong_max : 0x1
+zero != double_min : 0x1
+zero != double_max : 0x1
+zero != float_min : 0x1
+zero != float_max : 0x1
+zero * zero * zero_min : 0x0
+zero * zero * zero_plus : 0x0
+zero * zero * zero : 0x0
+zero * zero * NaN : NaN
+zero * zero * Inf_plus : NaN
+zero * zero * Inf_min : NaN
+zero * zero * Inf : NaN
+zero * zero * long_max : 0x0
+zero * zero * long_min : 0x0
+zero * zero * int_max : 0x0
+zero * zero * int_min : 0x0
+zero * zero * uint_max : 0x0
+zero * zero * ulong_max : 0x0
+zero * zero * double_min : 0x0
+zero * zero * double_max : 0x0
+zero * zero * float_min : 0x0
+zero * zero * float_max : 0x0
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x7fffffff
+long_min : 0x8e+7
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+NaN / zero_min : NaN
+NaN / zero_plus : NaN
+NaN / zero : NaN
+NaN / NaN : NaN
+NaN / Inf_plus : NaN
+NaN / Inf_min : NaN
+NaN / Inf : NaN
+NaN / long_max : NaN
+NaN / long_min : NaN
+NaN / int_max : NaN
+NaN / int_min : NaN
+NaN / uint_max : NaN
+NaN / ulong_max : NaN
+NaN / double_min : NaN
+NaN / double_max : NaN
+NaN / float_min : NaN
+NaN / float_max : NaN
+NaN * zero_min : NaN
+NaN * zero_plus : NaN
+NaN * zero : NaN
+NaN * NaN : NaN
+NaN * Inf_plus : NaN
+NaN * Inf_min : NaN
+NaN * Inf : NaN
+NaN * long_max : NaN
+NaN * long_min : NaN
+NaN * int_max : NaN
+NaN * int_min : NaN
+NaN * uint_max : NaN
+NaN * ulong_max : NaN
+NaN * double_min : NaN
+NaN * double_max : NaN
+NaN * float_min : NaN
+NaN * float_max : NaN
+NaN + zero_min : NaN
+NaN + zero_plus : NaN
+NaN + zero : NaN
+NaN + NaN : NaN
+NaN + Inf_plus : NaN
+NaN + Inf_min : NaN
+NaN + Inf : NaN
+NaN + long_max : NaN
+NaN + long_min : NaN
+NaN + int_max : NaN
+NaN + int_min : NaN
+NaN + uint_max : NaN
+NaN + ulong_max : NaN
+NaN + double_min : NaN
+NaN + double_max : NaN
+NaN + float_min : NaN
+NaN + float_max : NaN
+NaN - zero_min : NaN
+NaN - zero_plus : NaN
+NaN - zero : NaN
+NaN - NaN : NaN
+NaN - Inf_plus : NaN
+NaN - Inf_min : NaN
+NaN - Inf : NaN
+NaN - long_max : NaN
+NaN - long_min : NaN
+NaN - int_max : NaN
+NaN - int_min : NaN
+NaN - uint_max : NaN
+NaN - ulong_max : NaN
+NaN - double_min : NaN
+NaN - double_max : NaN
+NaN - float_min : NaN
+NaN - float_max : NaN
+NaN > zero_min : 0x0
+NaN > zero_plus : 0x0
+NaN > zero : 0x0
+NaN > NaN : 0x0
+NaN > Inf_plus : 0x0
+NaN > Inf_min : 0x0
+NaN > Inf : 0x0
+NaN > long_max : 0x0
+NaN > long_min : 0x0
+NaN > int_max : 0x0
+NaN > int_min : 0x0
+NaN > uint_max : 0x0
+NaN > ulong_max : 0x0
+NaN > double_min : 0x0
+NaN > double_max : 0x0
+NaN > float_min : 0x0
+NaN > float_max : 0x0
+NaN < zero_min : 0x0
+NaN < zero_plus : 0x0
+NaN < zero : 0x0
+NaN < NaN : 0x0
+NaN < Inf_plus : 0x0
+NaN < Inf_min : 0x0
+NaN < Inf : 0x0
+NaN < long_max : 0x0
+NaN < long_min : 0x0
+NaN < int_max : 0x0
+NaN < int_min : 0x0
+NaN < uint_max : 0x0
+NaN < ulong_max : 0x0
+NaN < double_min : 0x0
+NaN < double_max : 0x0
+NaN < float_min : 0x0
+NaN < float_max : 0x0
+NaN >= zero_min : 0x0
+NaN >= zero_plus : 0x0
+NaN >= zero : 0x0
+NaN >= NaN : 0x0
+NaN >= Inf_plus : 0x0
+NaN >= Inf_min : 0x0
+NaN >= Inf : 0x0
+NaN >= long_max : 0x0
+NaN >= long_min : 0x0
+NaN >= int_max : 0x0
+NaN >= int_min : 0x0
+NaN >= uint_max : 0x0
+NaN >= ulong_max : 0x0
+NaN >= double_min : 0x0
+NaN >= double_max : 0x0
+NaN >= float_min : 0x0
+NaN >= float_max : 0x0
+NaN <= zero_min : 0x0
+NaN <= zero_plus : 0x0
+NaN <= zero : 0x0
+NaN <= NaN : 0x0
+NaN <= Inf_plus : 0x0
+NaN <= Inf_min : 0x0
+NaN <= Inf : 0x0
+NaN <= long_max : 0x0
+NaN <= long_min : 0x0
+NaN <= int_max : 0x0
+NaN <= int_min : 0x0
+NaN <= uint_max : 0x0
+NaN <= ulong_max : 0x0
+NaN <= double_min : 0x0
+NaN <= double_max : 0x0
+NaN <= float_min : 0x0
+NaN <= float_max : 0x0
+NaN == zero_min : 0x0
+NaN == zero_plus : 0x0
+NaN == zero : 0x0
+NaN == NaN : 0x0
+NaN == Inf_plus : 0x0
+NaN == Inf_min : 0x0
+NaN == Inf : 0x0
+NaN == long_max : 0x0
+NaN == long_min : 0x0
+NaN == int_max : 0x0
+NaN == int_min : 0x0
+NaN == uint_max : 0x0
+NaN == ulong_max : 0x0
+NaN == double_min : 0x0
+NaN == double_max : 0x0
+NaN == float_min : 0x0
+NaN == float_max : 0x0
+NaN != zero_min : 0x1
+NaN != zero_plus : 0x1
+NaN != zero : 0x1
+NaN != NaN : 0x1
+NaN != Inf_plus : 0x1
+NaN != Inf_min : 0x1
+NaN != Inf : 0x1
+NaN != long_max : 0x1
+NaN != long_min : 0x1
+NaN != int_max : 0x1
+NaN != int_min : 0x1
+NaN != uint_max : 0x1
+NaN != ulong_max : 0x1
+NaN != double_min : 0x1
+NaN != double_max : 0x1
+NaN != float_min : 0x1
+NaN != float_max : 0x1
+NaN * NaN * zero_min : NaN
+NaN * NaN * zero_plus : NaN
+NaN * NaN * zero : NaN
+NaN * NaN * NaN : NaN
+NaN * NaN * Inf_plus : NaN
+NaN * NaN * Inf_min : NaN
+NaN * NaN * Inf : NaN
+NaN * NaN * long_max : NaN
+NaN * NaN * long_min : NaN
+NaN * NaN * int_max : NaN
+NaN * NaN * int_min : NaN
+NaN * NaN * uint_max : NaN
+NaN * NaN * ulong_max : NaN
+NaN * NaN * double_min : NaN
+NaN * NaN * double_max : NaN
+NaN * NaN * float_min : NaN
+NaN * NaN * float_max : NaN
+Inf_plus / zero_min : -Inf
+Inf_plus / zero_plus : Inf
+Inf_plus / zero : Inf
+Inf_plus / NaN : NaN
+Inf_plus / Inf_plus : NaN
+Inf_plus / Inf_min : NaN
+Inf_plus / Inf : NaN
+Inf_plus / long_max : Inf
+Inf_plus / long_min : -Inf
+Inf_plus / int_max : Inf
+Inf_plus / int_min : -Inf
+Inf_plus / uint_max : Inf
+Inf_plus / ulong_max : Inf
+Inf_plus / double_min : Inf
+Inf_plus / double_max : Inf
+Inf_plus / float_min : Inf
+Inf_plus / float_max : Inf
+Inf_plus * zero_min : NaN
+Inf_plus * zero_plus : NaN
+Inf_plus * zero : NaN
+Inf_plus * NaN : NaN
+Inf_plus * Inf_plus : Inf
+Inf_plus * Inf_min : -Inf
+Inf_plus * Inf : Inf
+Inf_plus * long_max : Inf
+Inf_plus * long_min : -Inf
+Inf_plus * int_max : Inf
+Inf_plus * int_min : -Inf
+Inf_plus * uint_max : Inf
+Inf_plus * ulong_max : Inf
+Inf_plus * double_min : Inf
+Inf_plus * double_max : Inf
+Inf_plus * float_min : Inf
+Inf_plus * float_max : Inf
+Inf_plus + zero_min : Inf
+Inf_plus + zero_plus : Inf
+Inf_plus + zero : Inf
+Inf_plus + NaN : NaN
+Inf_plus + Inf_plus : Inf
+Inf_plus + Inf_min : NaN
+Inf_plus + Inf : Inf
+Inf_plus + long_max : Inf
+Inf_plus + long_min : Inf
+Inf_plus + int_max : Inf
+Inf_plus + int_min : Inf
+Inf_plus + uint_max : Inf
+Inf_plus + ulong_max : Inf
+Inf_plus + double_min : Inf
+Inf_plus + double_max : Inf
+Inf_plus + float_min : Inf
+Inf_plus + float_max : Inf
+Inf_plus - zero_min : Inf
+Inf_plus - zero_plus : Inf
+Inf_plus - zero : Inf
+Inf_plus - NaN : NaN
+Inf_plus - Inf_plus : NaN
+Inf_plus - Inf_min : Inf
+Inf_plus - Inf : NaN
+Inf_plus - long_max : Inf
+Inf_plus - long_min : Inf
+Inf_plus - int_max : Inf
+Inf_plus - int_min : Inf
+Inf_plus - uint_max : Inf
+Inf_plus - ulong_max : Inf
+Inf_plus - double_min : Inf
+Inf_plus - double_max : Inf
+Inf_plus - float_min : Inf
+Inf_plus - float_max : Inf
+Inf_plus > zero_min : 0x1
+Inf_plus > zero_plus : 0x1
+Inf_plus > zero : 0x1
+Inf_plus > NaN : 0x0
+Inf_plus > Inf_plus : 0x0
+Inf_plus > Inf_min : 0x1
+Inf_plus > Inf : 0x0
+Inf_plus > long_max : 0x1
+Inf_plus > long_min : 0x1
+Inf_plus > int_max : 0x1
+Inf_plus > int_min : 0x1
+Inf_plus > uint_max : 0x1
+Inf_plus > ulong_max : 0x1
+Inf_plus > double_min : 0x1
+Inf_plus > double_max : 0x1
+Inf_plus > float_min : 0x1
+Inf_plus > float_max : 0x1
+Inf_plus < zero_min : 0x0
+Inf_plus < zero_plus : 0x0
+Inf_plus < zero : 0x0
+Inf_plus < NaN : 0x0
+Inf_plus < Inf_plus : 0x0
+Inf_plus < Inf_min : 0x0
+Inf_plus < Inf : 0x0
+Inf_plus < long_max : 0x0
+Inf_plus < long_min : 0x0
+Inf_plus < int_max : 0x0
+Inf_plus < int_min : 0x0
+Inf_plus < uint_max : 0x0
+Inf_plus < ulong_max : 0x0
+Inf_plus < double_min : 0x0
+Inf_plus < double_max : 0x0
+Inf_plus < float_min : 0x0
+Inf_plus < float_max : 0x0
+Inf_plus >= zero_min : 0x1
+Inf_plus >= zero_plus : 0x1
+Inf_plus >= zero : 0x1
+Inf_plus >= NaN : 0x0
+Inf_plus >= Inf_plus : 0x1
+Inf_plus >= Inf_min : 0x1
+Inf_plus >= Inf : 0x1
+Inf_plus >= long_max : 0x1
+Inf_plus >= long_min : 0x1
+Inf_plus >= int_max : 0x1
+Inf_plus >= int_min : 0x1
+Inf_plus >= uint_max : 0x1
+Inf_plus >= ulong_max : 0x1
+Inf_plus >= double_min : 0x1
+Inf_plus >= double_max : 0x1
+Inf_plus >= float_min : 0x1
+Inf_plus >= float_max : 0x1
+Inf_plus <= zero_min : 0x0
+Inf_plus <= zero_plus : 0x0
+Inf_plus <= zero : 0x0
+Inf_plus <= NaN : 0x0
+Inf_plus <= Inf_plus : 0x1
+Inf_plus <= Inf_min : 0x0
+Inf_plus <= Inf : 0x1
+Inf_plus <= long_max : 0x0
+Inf_plus <= long_min : 0x0
+Inf_plus <= int_max : 0x0
+Inf_plus <= int_min : 0x0
+Inf_plus <= uint_max : 0x0
+Inf_plus <= ulong_max : 0x0
+Inf_plus <= double_min : 0x0
+Inf_plus <= double_max : 0x0
+Inf_plus <= float_min : 0x0
+Inf_plus <= float_max : 0x0
+Inf_plus == zero_min : 0x0
+Inf_plus == zero_plus : 0x0
+Inf_plus == zero : 0x0
+Inf_plus == NaN : 0x0
+Inf_plus == Inf_plus : 0x1
+Inf_plus == Inf_min : 0x0
+Inf_plus == Inf : 0x1
+Inf_plus == long_max : 0x0
+Inf_plus == long_min : 0x0
+Inf_plus == int_max : 0x0
+Inf_plus == int_min : 0x0
+Inf_plus == uint_max : 0x0
+Inf_plus == ulong_max : 0x0
+Inf_plus == double_min : 0x0
+Inf_plus == double_max : 0x0
+Inf_plus == float_min : 0x0
+Inf_plus == float_max : 0x0
+Inf_plus != zero_min : 0x1
+Inf_plus != zero_plus : 0x1
+Inf_plus != zero : 0x1
+Inf_plus != NaN : 0x1
+Inf_plus != Inf_plus : 0x0
+Inf_plus != Inf_min : 0x1
+Inf_plus != Inf : 0x0
+Inf_plus != long_max : 0x1
+Inf_plus != long_min : 0x1
+Inf_plus != int_max : 0x1
+Inf_plus != int_min : 0x1
+Inf_plus != uint_max : 0x1
+Inf_plus != ulong_max : 0x1
+Inf_plus != double_min : 0x1
+Inf_plus != double_max : 0x1
+Inf_plus != float_min : 0x1
+Inf_plus != float_max : 0x1
+Inf_plus * Inf_plus * zero_min : NaN
+Inf_plus * Inf_plus * zero_plus : NaN
+Inf_plus * Inf_plus * zero : NaN
+Inf_plus * Inf_plus * NaN : NaN
+Inf_plus * Inf_plus * Inf_plus : Inf
+Inf_plus * Inf_plus * Inf_min : -Inf
+Inf_plus * Inf_plus * Inf : Inf
+Inf_plus * Inf_plus * long_max : Inf
+Inf_plus * Inf_plus * long_min : -Inf
+Inf_plus * Inf_plus * int_max : Inf
+Inf_plus * Inf_plus * int_min : -Inf
+Inf_plus * Inf_plus * uint_max : Inf
+Inf_plus * Inf_plus * ulong_max : Inf
+Inf_plus * Inf_plus * double_min : Inf
+Inf_plus * Inf_plus * double_max : Inf
+Inf_plus * Inf_plus * float_min : Inf
+Inf_plus * Inf_plus * float_max : Inf
+Inf_min / zero_min : Inf
+Inf_min / zero_plus : -Inf
+Inf_min / zero : -Inf
+Inf_min / NaN : NaN
+Inf_min / Inf_plus : NaN
+Inf_min / Inf_min : NaN
+Inf_min / Inf : NaN
+Inf_min / long_max : -Inf
+Inf_min / long_min : Inf
+Inf_min / int_max : -Inf
+Inf_min / int_min : Inf
+Inf_min / uint_max : -Inf
+Inf_min / ulong_max : -Inf
+Inf_min / double_min : -Inf
+Inf_min / double_max : -Inf
+Inf_min / float_min : -Inf
+Inf_min / float_max : -Inf
+Inf_min * zero_min : NaN
+Inf_min * zero_plus : NaN
+Inf_min * zero : NaN
+Inf_min * NaN : NaN
+Inf_min * Inf_plus : -Inf
+Inf_min * Inf_min : Inf
+Inf_min * Inf : -Inf
+Inf_min * long_max : -Inf
+Inf_min * long_min : Inf
+Inf_min * int_max : -Inf
+Inf_min * int_min : Inf
+Inf_min * uint_max : -Inf
+Inf_min * ulong_max : -Inf
+Inf_min * double_min : -Inf
+Inf_min * double_max : -Inf
+Inf_min * float_min : -Inf
+Inf_min * float_max : -Inf
+Inf_min + zero_min : -Inf
+Inf_min + zero_plus : -Inf
+Inf_min + zero : -Inf
+Inf_min + NaN : NaN
+Inf_min + Inf_plus : NaN
+Inf_min + Inf_min : -Inf
+Inf_min + Inf : NaN
+Inf_min + long_max : -Inf
+Inf_min + long_min : -Inf
+Inf_min + int_max : -Inf
+Inf_min + int_min : -Inf
+Inf_min + uint_max : -Inf
+Inf_min + ulong_max : -Inf
+Inf_min + double_min : -Inf
+Inf_min + double_max : -Inf
+Inf_min + float_min : -Inf
+Inf_min + float_max : -Inf
+Inf_min - zero_min : -Inf
+Inf_min - zero_plus : -Inf
+Inf_min - zero : -Inf
+Inf_min - NaN : NaN
+Inf_min - Inf_plus : -Inf
+Inf_min - Inf_min : NaN
+Inf_min - Inf : -Inf
+Inf_min - long_max : -Inf
+Inf_min - long_min : -Inf
+Inf_min - int_max : -Inf
+Inf_min - int_min : -Inf
+Inf_min - uint_max : -Inf
+Inf_min - ulong_max : -Inf
+Inf_min - double_min : -Inf
+Inf_min - double_max : -Inf
+Inf_min - float_min : -Inf
+Inf_min - float_max : -Inf
+Inf_min > zero_min : 0x0
+Inf_min > zero_plus : 0x0
+Inf_min > zero : 0x0
+Inf_min > NaN : 0x0
+Inf_min > Inf_plus : 0x0
+Inf_min > Inf_min : 0x0
+Inf_min > Inf : 0x0
+Inf_min > long_max : 0x0
+Inf_min > long_min : 0x0
+Inf_min > int_max : 0x0
+Inf_min > int_min : 0x0
+Inf_min > uint_max : 0x0
+Inf_min > ulong_max : 0x0
+Inf_min > double_min : 0x0
+Inf_min > double_max : 0x0
+Inf_min > float_min : 0x0
+Inf_min > float_max : 0x0
+Inf_min < zero_min : 0x1
+Inf_min < zero_plus : 0x1
+Inf_min < zero : 0x1
+Inf_min < NaN : 0x0
+Inf_min < Inf_plus : 0x1
+Inf_min < Inf_min : 0x0
+Inf_min < Inf : 0x1
+Inf_min < long_max : 0x1
+Inf_min < long_min : 0x1
+Inf_min < int_max : 0x1
+Inf_min < int_min : 0x1
+Inf_min < uint_max : 0x1
+Inf_min < ulong_max : 0x1
+Inf_min < double_min : 0x1
+Inf_min < double_max : 0x1
+Inf_min < float_min : 0x1
+Inf_min < float_max : 0x1
+Inf_min >= zero_min : 0x0
+Inf_min >= zero_plus : 0x0
+Inf_min >= zero : 0x0
+Inf_min >= NaN : 0x0
+Inf_min >= Inf_plus : 0x0
+Inf_min >= Inf_min : 0x1
+Inf_min >= Inf : 0x0
+Inf_min >= long_max : 0x0
+Inf_min >= long_min : 0x0
+Inf_min >= int_max : 0x0
+Inf_min >= int_min : 0x0
+Inf_min >= uint_max : 0x0
+Inf_min >= ulong_max : 0x0
+Inf_min >= double_min : 0x0
+Inf_min >= double_max : 0x0
+Inf_min >= float_min : 0x0
+Inf_min >= float_max : 0x0
+Inf_min <= zero_min : 0x1
+Inf_min <= zero_plus : 0x1
+Inf_min <= zero : 0x1
+Inf_min <= NaN : 0x0
+Inf_min <= Inf_plus : 0x1
+Inf_min <= Inf_min : 0x1
+Inf_min <= Inf : 0x1
+Inf_min <= long_max : 0x1
+Inf_min <= long_min : 0x1
+Inf_min <= int_max : 0x1
+Inf_min <= int_min : 0x1
+Inf_min <= uint_max : 0x1
+Inf_min <= ulong_max : 0x1
+Inf_min <= double_min : 0x1
+Inf_min <= double_max : 0x1
+Inf_min <= float_min : 0x1
+Inf_min <= float_max : 0x1
+Inf_min == zero_min : 0x0
+Inf_min == zero_plus : 0x0
+Inf_min == zero : 0x0
+Inf_min == NaN : 0x0
+Inf_min == Inf_plus : 0x0
+Inf_min == Inf_min : 0x1
+Inf_min == Inf : 0x0
+Inf_min == long_max : 0x0
+Inf_min == long_min : 0x0
+Inf_min == int_max : 0x0
+Inf_min == int_min : 0x0
+Inf_min == uint_max : 0x0
+Inf_min == ulong_max : 0x0
+Inf_min == double_min : 0x0
+Inf_min == double_max : 0x0
+Inf_min == float_min : 0x0
+Inf_min == float_max : 0x0
+Inf_min != zero_min : 0x1
+Inf_min != zero_plus : 0x1
+Inf_min != zero : 0x1
+Inf_min != NaN : 0x1
+Inf_min != Inf_plus : 0x1
+Inf_min != Inf_min : 0x0
+Inf_min != Inf : 0x1
+Inf_min != long_max : 0x1
+Inf_min != long_min : 0x1
+Inf_min != int_max : 0x1
+Inf_min != int_min : 0x1
+Inf_min != uint_max : 0x1
+Inf_min != ulong_max : 0x1
+Inf_min != double_min : 0x1
+Inf_min != double_max : 0x1
+Inf_min != float_min : 0x1
+Inf_min != float_max : 0x1
+Inf_min * Inf_min * zero_min : NaN
+Inf_min * Inf_min * zero_plus : NaN
+Inf_min * Inf_min * zero : NaN
+Inf_min * Inf_min * NaN : NaN
+Inf_min * Inf_min * Inf_plus : Inf
+Inf_min * Inf_min * Inf_min : -Inf
+Inf_min * Inf_min * Inf : Inf
+Inf_min * Inf_min * long_max : Inf
+Inf_min * Inf_min * long_min : -Inf
+Inf_min * Inf_min * int_max : Inf
+Inf_min * Inf_min * int_min : -Inf
+Inf_min * Inf_min * uint_max : Inf
+Inf_min * Inf_min * ulong_max : Inf
+Inf_min * Inf_min * double_min : Inf
+Inf_min * Inf_min * double_max : Inf
+Inf_min * Inf_min * float_min : Inf
+Inf_min * Inf_min * float_max : Inf
+Inf / zero_min : -Inf
+Inf / zero_plus : Inf
+Inf / zero : Inf
+Inf / NaN : NaN
+Inf / Inf_plus : NaN
+Inf / Inf_min : NaN
+Inf / Inf : NaN
+Inf / long_max : Inf
+Inf / long_min : -Inf
+Inf / int_max : Inf
+Inf / int_min : -Inf
+Inf / uint_max : Inf
+Inf / ulong_max : Inf
+Inf / double_min : Inf
+Inf / double_max : Inf
+Inf / float_min : Inf
+Inf / float_max : Inf
+Inf * zero_min : NaN
+Inf * zero_plus : NaN
+Inf * zero : NaN
+Inf * NaN : NaN
+Inf * Inf_plus : Inf
+Inf * Inf_min : -Inf
+Inf * Inf : Inf
+Inf * long_max : Inf
+Inf * long_min : -Inf
+Inf * int_max : Inf
+Inf * int_min : -Inf
+Inf * uint_max : Inf
+Inf * ulong_max : Inf
+Inf * double_min : Inf
+Inf * double_max : Inf
+Inf * float_min : Inf
+Inf * float_max : Inf
+Inf + zero_min : Inf
+Inf + zero_plus : Inf
+Inf + zero : Inf
+Inf + NaN : NaN
+Inf + Inf_plus : Inf
+Inf + Inf_min : NaN
+Inf + Inf : Inf
+Inf + long_max : Inf
+Inf + long_min : Inf
+Inf + int_max : Inf
+Inf + int_min : Inf
+Inf + uint_max : Inf
+Inf + ulong_max : Inf
+Inf + double_min : Inf
+Inf + double_max : Inf
+Inf + float_min : Inf
+Inf + float_max : Inf
+Inf - zero_min : Inf
+Inf - zero_plus : Inf
+Inf - zero : Inf
+Inf - NaN : NaN
+Inf - Inf_plus : NaN
+Inf - Inf_min : Inf
+Inf - Inf : NaN
+Inf - long_max : Inf
+Inf - long_min : Inf
+Inf - int_max : Inf
+Inf - int_min : Inf
+Inf - uint_max : Inf
+Inf - ulong_max : Inf
+Inf - double_min : Inf
+Inf - double_max : Inf
+Inf - float_min : Inf
+Inf - float_max : Inf
+Inf > zero_min : 0x1
+Inf > zero_plus : 0x1
+Inf > zero : 0x1
+Inf > NaN : 0x0
+Inf > Inf_plus : 0x0
+Inf > Inf_min : 0x1
+Inf > Inf : 0x0
+Inf > long_max : 0x1
+Inf > long_min : 0x1
+Inf > int_max : 0x1
+Inf > int_min : 0x1
+Inf > uint_max : 0x1
+Inf > ulong_max : 0x1
+Inf > double_min : 0x1
+Inf > double_max : 0x1
+Inf > float_min : 0x1
+Inf > float_max : 0x1
+Inf < zero_min : 0x0
+Inf < zero_plus : 0x0
+Inf < zero : 0x0
+Inf < NaN : 0x0
+Inf < Inf_plus : 0x0
+Inf < Inf_min : 0x0
+Inf < Inf : 0x0
+Inf < long_max : 0x0
+Inf < long_min : 0x0
+Inf < int_max : 0x0
+Inf < int_min : 0x0
+Inf < uint_max : 0x0
+Inf < ulong_max : 0x0
+Inf < double_min : 0x0
+Inf < double_max : 0x0
+Inf < float_min : 0x0
+Inf < float_max : 0x0
+Inf >= zero_min : 0x1
+Inf >= zero_plus : 0x1
+Inf >= zero : 0x1
+Inf >= NaN : 0x0
+Inf >= Inf_plus : 0x1
+Inf >= Inf_min : 0x1
+Inf >= Inf : 0x1
+Inf >= long_max : 0x1
+Inf >= long_min : 0x1
+Inf >= int_max : 0x1
+Inf >= int_min : 0x1
+Inf >= uint_max : 0x1
+Inf >= ulong_max : 0x1
+Inf >= double_min : 0x1
+Inf >= double_max : 0x1
+Inf >= float_min : 0x1
+Inf >= float_max : 0x1
+Inf <= zero_min : 0x0
+Inf <= zero_plus : 0x0
+Inf <= zero : 0x0
+Inf <= NaN : 0x0
+Inf <= Inf_plus : 0x1
+Inf <= Inf_min : 0x0
+Inf <= Inf : 0x1
+Inf <= long_max : 0x0
+Inf <= long_min : 0x0
+Inf <= int_max : 0x0
+Inf <= int_min : 0x0
+Inf <= uint_max : 0x0
+Inf <= ulong_max : 0x0
+Inf <= double_min : 0x0
+Inf <= double_max : 0x0
+Inf <= float_min : 0x0
+Inf <= float_max : 0x0
+Inf == zero_min : 0x0
+Inf == zero_plus : 0x0
+Inf == zero : 0x0
+Inf == NaN : 0x0
+Inf == Inf_plus : 0x1
+Inf == Inf_min : 0x0
+Inf == Inf : 0x1
+Inf == long_max : 0x0
+Inf == long_min : 0x0
+Inf == int_max : 0x0
+Inf == int_min : 0x0
+Inf == uint_max : 0x0
+Inf == ulong_max : 0x0
+Inf == double_min : 0x0
+Inf == double_max : 0x0
+Inf == float_min : 0x0
+Inf == float_max : 0x0
+Inf != zero_min : 0x1
+Inf != zero_plus : 0x1
+Inf != zero : 0x1
+Inf != NaN : 0x1
+Inf != Inf_plus : 0x0
+Inf != Inf_min : 0x1
+Inf != Inf : 0x0
+Inf != long_max : 0x1
+Inf != long_min : 0x1
+Inf != int_max : 0x1
+Inf != int_min : 0x1
+Inf != uint_max : 0x1
+Inf != ulong_max : 0x1
+Inf != double_min : 0x1
+Inf != double_max : 0x1
+Inf != float_min : 0x1
+Inf != float_max : 0x1
+Inf * Inf * zero_min : NaN
+Inf * Inf * zero_plus : NaN
+Inf * Inf * zero : NaN
+Inf * Inf * NaN : NaN
+Inf * Inf * Inf_plus : Inf
+Inf * Inf * Inf_min : -Inf
+Inf * Inf * Inf : Inf
+Inf * Inf * long_max : Inf
+Inf * Inf * long_min : -Inf
+Inf * Inf * int_max : Inf
+Inf * Inf * int_min : -Inf
+Inf * Inf * uint_max : Inf
+Inf * Inf * ulong_max : Inf
+Inf * Inf * double_min : Inf
+Inf * Inf * double_max : Inf
+Inf * Inf * float_min : Inf
+Inf * Inf * float_max : Inf
+****************** limits fx_float_long
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x7fffffff
+long_min : 0x8e+7
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+long_max / zero_min : -Inf
+long_max / zero_plus : Inf
+long_max / zero : Inf
+long_max / NaN : NaN
+long_max / Inf_plus : 0x0
+long_max / Inf_min : 0x0
+long_max / Inf : 0x0
+long_max / long_max : 0x1
+long_max / long_min : 0xf.00000002
+long_max / int_max : 0x1
+long_max / int_min : 0xf.00000002
+long_max / uint_max : 0x.7fffffff8
+long_max / ulong_max : 0x.7fffffff8
+long_max / double_min : Inf
+long_max / double_max : 0x.7fffffff000004e-248
+long_max / float_min : 0x1fffffffce+31
+long_max / float_max : 0x.08000007f00008e-23
+long_max * zero_min : 0x0
+long_max * zero_plus : 0x0
+long_max * zero : 0x0
+long_max * NaN : NaN
+long_max * Inf_plus : Inf
+long_max * Inf_min : -Inf
+long_max * Inf : Inf
+long_max * long_max : 0x3fffffffe+8
+long_max * long_min : 0xc00000008e+7
+long_max * int_max : 0x3fffffffe+8
+long_max * int_min : 0xc00000008e+7
+long_max * uint_max : 0x7ffffffe8e+7
+long_max * ulong_max : 0x7ffffffe8e+7
+long_max * double_min : 0x.1fffffffce-247
+long_max * double_max : Inf
+long_max * float_min : 0x.1fffffffce-23
+long_max * float_max : 0x7fffff7fe+32
+long_max + zero_min : 0x7fffffff
+long_max + zero_plus : 0x7fffffff
+long_max + zero : 0x7fffffff
+long_max + NaN : NaN
+long_max + Inf_plus : Inf
+long_max + Inf_min : -Inf
+long_max + Inf : Inf
+long_max + long_max : 0x0fffffffe
+long_max + long_min : 0xf
+long_max + int_max : 0x0fffffffe
+long_max + int_min : 0xf
+long_max + uint_max : 0x17ffffffe
+long_max + ulong_max : 0x17ffffffe
+long_max + double_min : 0x7fffffff
+long_max + double_max : 0x0fffffffffffff8e+242
+long_max + float_min : 0x7fffffff
+long_max + float_max : 0x0ffffffe+26
+long_max - zero_min : 0x7fffffff
+long_max - zero_plus : 0x7fffffff
+long_max - zero : 0x7fffffff
+long_max - NaN : NaN
+long_max - Inf_plus : -Inf
+long_max - Inf_min : Inf
+long_max - Inf : -Inf
+long_max - long_max : 0x0
+long_max - long_min : 0x0ffffffff
+long_max - int_max : 0x0
+long_max - int_min : 0x0ffffffff
+long_max - uint_max : 0x8e+7
+long_max - ulong_max : 0x8e+7
+long_max - double_min : 0x7fffffff
+long_max - double_max : 0xf00000000000008e+242
+long_max - float_min : 0x7fffffff
+long_max - float_max : 0xf000001e+26
+long_max > zero_min : 0x1
+long_max > zero_plus : 0x1
+long_max > zero : 0x1
+long_max > NaN : 0x0
+long_max > Inf_plus : 0x0
+long_max > Inf_min : 0x1
+long_max > Inf : 0x0
+long_max > long_max : 0x0
+long_max > long_min : 0x1
+long_max > int_max : 0x0
+long_max > int_min : 0x1
+long_max > uint_max : 0x0
+long_max > ulong_max : 0x0
+long_max > double_min : 0x1
+long_max > double_max : 0x0
+long_max > float_min : 0x1
+long_max > float_max : 0x0
+long_max < zero_min : 0x0
+long_max < zero_plus : 0x0
+long_max < zero : 0x0
+long_max < NaN : 0x0
+long_max < Inf_plus : 0x1
+long_max < Inf_min : 0x0
+long_max < Inf : 0x1
+long_max < long_max : 0x0
+long_max < long_min : 0x0
+long_max < int_max : 0x0
+long_max < int_min : 0x0
+long_max < uint_max : 0x1
+long_max < ulong_max : 0x1
+long_max < double_min : 0x0
+long_max < double_max : 0x1
+long_max < float_min : 0x0
+long_max < float_max : 0x1
+long_max >= zero_min : 0x1
+long_max >= zero_plus : 0x1
+long_max >= zero : 0x1
+long_max >= NaN : 0x0
+long_max >= Inf_plus : 0x0
+long_max >= Inf_min : 0x1
+long_max >= Inf : 0x0
+long_max >= long_max : 0x1
+long_max >= long_min : 0x1
+long_max >= int_max : 0x1
+long_max >= int_min : 0x1
+long_max >= uint_max : 0x0
+long_max >= ulong_max : 0x0
+long_max >= double_min : 0x1
+long_max >= double_max : 0x0
+long_max >= float_min : 0x1
+long_max >= float_max : 0x0
+long_max <= zero_min : 0x0
+long_max <= zero_plus : 0x0
+long_max <= zero : 0x0
+long_max <= NaN : 0x0
+long_max <= Inf_plus : 0x1
+long_max <= Inf_min : 0x0
+long_max <= Inf : 0x1
+long_max <= long_max : 0x1
+long_max <= long_min : 0x0
+long_max <= int_max : 0x1
+long_max <= int_min : 0x0
+long_max <= uint_max : 0x1
+long_max <= ulong_max : 0x1
+long_max <= double_min : 0x0
+long_max <= double_max : 0x1
+long_max <= float_min : 0x0
+long_max <= float_max : 0x1
+long_max == zero_min : 0x0
+long_max == zero_plus : 0x0
+long_max == zero : 0x0
+long_max == NaN : 0x0
+long_max == Inf_plus : 0x0
+long_max == Inf_min : 0x0
+long_max == Inf : 0x0
+long_max == long_max : 0x1
+long_max == long_min : 0x0
+long_max == int_max : 0x1
+long_max == int_min : 0x0
+long_max == uint_max : 0x0
+long_max == ulong_max : 0x0
+long_max == double_min : 0x0
+long_max == double_max : 0x0
+long_max == float_min : 0x0
+long_max == float_max : 0x0
+long_max != zero_min : 0x1
+long_max != zero_plus : 0x1
+long_max != zero : 0x1
+long_max != NaN : 0x1
+long_max != Inf_plus : 0x1
+long_max != Inf_min : 0x1
+long_max != Inf : 0x1
+long_max != long_max : 0x0
+long_max != long_min : 0x1
+long_max != int_max : 0x0
+long_max != int_min : 0x1
+long_max != uint_max : 0x1
+long_max != ulong_max : 0x1
+long_max != double_min : 0x1
+long_max != double_max : 0x1
+long_max != float_min : 0x1
+long_max != float_max : 0x1
+long_max * long_max * zero_min : 0x0
+long_max * long_max * zero_plus : 0x0
+long_max * long_max * zero : 0x0
+long_max * long_max * NaN : NaN
+long_max * long_max * Inf_plus : Inf
+long_max * long_max * Inf_min : -Inf
+long_max * long_max * Inf : Inf
+long_max * long_max * long_max : 0x1fffffff4e+15
+long_max * long_max * long_min : 0xe00000008e+15
+long_max * long_max * int_max : 0x1fffffff4e+15
+long_max * long_max * int_min : 0xe00000008e+15
+long_max * long_max * uint_max : 0x3ffffffece+15
+long_max * long_max * ulong_max : 0x3ffffffece+15
+long_max * long_max * double_min : 0x.0fffffffce-239
+long_max * long_max * double_max : Inf
+long_max * long_max * float_min : 0x.0fffffffce-15
+long_max * long_max * float_max : 0x3fffffbfe+40
+long_min / zero_min : Inf
+long_min / zero_plus : -Inf
+long_min / zero : -Inf
+long_min / NaN : NaN
+long_min / Inf_plus : 0x0
+long_min / Inf_min : 0x0
+long_min / Inf : 0x0
+long_min / long_max : 0xe.fffffffe
+long_min / long_min : 0x1
+long_min / int_max : 0xe.fffffffe
+long_min / int_min : 0x1
+long_min / uint_max : 0xf.7fffffff8
+long_min / ulong_max : 0xf.7fffffff8
+long_min / double_min : -Inf
+long_min / double_max : 0x.8e-248
+long_min / float_min : 0xee+39
+long_min / float_max : 0x.f7fffff7fffff8e-23
+long_min * zero_min : 0x0
+long_min * zero_plus : 0x0
+long_min * zero : 0x0
+long_min * NaN : NaN
+long_min * Inf_plus : -Inf
+long_min * Inf_min : Inf
+long_min * Inf : -Inf
+long_min * long_max : 0xc00000008e+7
+long_min * long_min : 0x4e+15
+long_min * int_max : 0xc00000008e+7
+long_min * int_min : 0x4e+15
+long_min * uint_max : 0x800000008e+7
+long_min * ulong_max : 0x800000008e+7
+long_min * double_min : 0x.ee-247
+long_min * double_max : -Inf
+long_min * float_min : 0x.ee-23
+long_min * float_max : 0x8000008e+33
+long_min + zero_min : 0x8e+7
+long_min + zero_plus : 0x8e+7
+long_min + zero : 0x8e+7
+long_min + NaN : NaN
+long_min + Inf_plus : Inf
+long_min + Inf_min : -Inf
+long_min + Inf : Inf
+long_min + long_max : 0xf
+long_min + long_min : 0xfe+8
+long_min + int_max : 0xf
+long_min + int_min : 0xfe+8
+long_min + uint_max : 0x7fffffff
+long_min + ulong_max : 0x7fffffff
+long_min + double_min : 0x8e+7
+long_min + double_max : 0x0fffffffffffff8e+242
+long_min + float_min : 0x8e+7
+long_min + float_max : 0x0ffffffe+26
+long_min - zero_min : 0x8e+7
+long_min - zero_plus : 0x8e+7
+long_min - zero : 0x8e+7
+long_min - NaN : NaN
+long_min - Inf_plus : -Inf
+long_min - Inf_min : Inf
+long_min - Inf : -Inf
+long_min - long_max : 0xf00000001
+long_min - long_min : 0x0
+long_min - int_max : 0xf00000001
+long_min - int_min : 0x0
+long_min - uint_max : 0xe80000001
+long_min - ulong_max : 0xe80000001
+long_min - double_min : 0x8e+7
+long_min - double_max : 0xf00000000000008e+242
+long_min - float_min : 0x8e+7
+long_min - float_max : 0xf000001e+26
+long_min > zero_min : 0x0
+long_min > zero_plus : 0x0
+long_min > zero : 0x0
+long_min > NaN : 0x0
+long_min > Inf_plus : 0x0
+long_min > Inf_min : 0x1
+long_min > Inf : 0x0
+long_min > long_max : 0x0
+long_min > long_min : 0x0
+long_min > int_max : 0x0
+long_min > int_min : 0x0
+long_min > uint_max : 0x0
+long_min > ulong_max : 0x0
+long_min > double_min : 0x0
+long_min > double_max : 0x0
+long_min > float_min : 0x0
+long_min > float_max : 0x0
+long_min < zero_min : 0x1
+long_min < zero_plus : 0x1
+long_min < zero : 0x1
+long_min < NaN : 0x0
+long_min < Inf_plus : 0x1
+long_min < Inf_min : 0x0
+long_min < Inf : 0x1
+long_min < long_max : 0x1
+long_min < long_min : 0x0
+long_min < int_max : 0x1
+long_min < int_min : 0x0
+long_min < uint_max : 0x1
+long_min < ulong_max : 0x1
+long_min < double_min : 0x1
+long_min < double_max : 0x1
+long_min < float_min : 0x1
+long_min < float_max : 0x1
+long_min >= zero_min : 0x0
+long_min >= zero_plus : 0x0
+long_min >= zero : 0x0
+long_min >= NaN : 0x0
+long_min >= Inf_plus : 0x0
+long_min >= Inf_min : 0x1
+long_min >= Inf : 0x0
+long_min >= long_max : 0x0
+long_min >= long_min : 0x1
+long_min >= int_max : 0x0
+long_min >= int_min : 0x1
+long_min >= uint_max : 0x0
+long_min >= ulong_max : 0x0
+long_min >= double_min : 0x0
+long_min >= double_max : 0x0
+long_min >= float_min : 0x0
+long_min >= float_max : 0x0
+long_min <= zero_min : 0x1
+long_min <= zero_plus : 0x1
+long_min <= zero : 0x1
+long_min <= NaN : 0x0
+long_min <= Inf_plus : 0x1
+long_min <= Inf_min : 0x0
+long_min <= Inf : 0x1
+long_min <= long_max : 0x1
+long_min <= long_min : 0x1
+long_min <= int_max : 0x1
+long_min <= int_min : 0x1
+long_min <= uint_max : 0x1
+long_min <= ulong_max : 0x1
+long_min <= double_min : 0x1
+long_min <= double_max : 0x1
+long_min <= float_min : 0x1
+long_min <= float_max : 0x1
+long_min == zero_min : 0x0
+long_min == zero_plus : 0x0
+long_min == zero : 0x0
+long_min == NaN : 0x0
+long_min == Inf_plus : 0x0
+long_min == Inf_min : 0x0
+long_min == Inf : 0x0
+long_min == long_max : 0x0
+long_min == long_min : 0x1
+long_min == int_max : 0x0
+long_min == int_min : 0x1
+long_min == uint_max : 0x0
+long_min == ulong_max : 0x0
+long_min == double_min : 0x0
+long_min == double_max : 0x0
+long_min == float_min : 0x0
+long_min == float_max : 0x0
+long_min != zero_min : 0x1
+long_min != zero_plus : 0x1
+long_min != zero : 0x1
+long_min != NaN : 0x1
+long_min != Inf_plus : 0x1
+long_min != Inf_min : 0x1
+long_min != Inf : 0x1
+long_min != long_max : 0x1
+long_min != long_min : 0x0
+long_min != int_max : 0x1
+long_min != int_min : 0x0
+long_min != uint_max : 0x1
+long_min != ulong_max : 0x1
+long_min != double_min : 0x1
+long_min != double_max : 0x1
+long_min != float_min : 0x1
+long_min != float_max : 0x1
+long_min * long_min * zero_min : 0x0
+long_min * long_min * zero_plus : 0x0
+long_min * long_min * zero : 0x0
+long_min * long_min * NaN : NaN
+long_min * long_min * Inf_plus : Inf
+long_min * long_min * Inf_min : -Inf
+long_min * long_min * Inf : Inf
+long_min * long_min * long_max : 0x1fffffffce+15
+long_min * long_min * long_min : 0xee+23
+long_min * long_min * int_max : 0x1fffffffce+15
+long_min * long_min * int_min : 0xee+23
+long_min * long_min * uint_max : 0x3fffffffce+15
+long_min * long_min * ulong_max : 0x3fffffffce+15
+long_min * long_min * double_min : 0x.1e-239
+long_min * long_min * double_max : Inf
+long_min * long_min * float_min : 0x.1e-15
+long_min * long_min * float_max : 0x3fffffce+41
+int_max / zero_min : -Inf
+int_max / zero_plus : Inf
+int_max / zero : Inf
+int_max / NaN : NaN
+int_max / Inf_plus : 0x0
+int_max / Inf_min : 0x0
+int_max / Inf : 0x0
+int_max / long_max : 0x1
+int_max / long_min : 0xf.00000002
+int_max / int_max : 0x1
+int_max / int_min : 0xf.00000002
+int_max / uint_max : 0x.7fffffff8
+int_max / ulong_max : 0x.7fffffff8
+int_max / double_min : Inf
+int_max / double_max : 0x.7fffffff000004e-248
+int_max / float_min : 0x1fffffffce+31
+int_max / float_max : 0x.08000007f00008e-23
+int_max * zero_min : 0x0
+int_max * zero_plus : 0x0
+int_max * zero : 0x0
+int_max * NaN : NaN
+int_max * Inf_plus : Inf
+int_max * Inf_min : -Inf
+int_max * Inf : Inf
+int_max * long_max : 0x3fffffffe+8
+int_max * long_min : 0xc00000008e+7
+int_max * int_max : 0x3fffffffe+8
+int_max * int_min : 0xc00000008e+7
+int_max * uint_max : 0x7ffffffe8e+7
+int_max * ulong_max : 0x7ffffffe8e+7
+int_max * double_min : 0x.1fffffffce-247
+int_max * double_max : Inf
+int_max * float_min : 0x.1fffffffce-23
+int_max * float_max : 0x7fffff7fe+32
+int_max + zero_min : 0x7fffffff
+int_max + zero_plus : 0x7fffffff
+int_max + zero : 0x7fffffff
+int_max + NaN : NaN
+int_max + Inf_plus : Inf
+int_max + Inf_min : -Inf
+int_max + Inf : Inf
+int_max + long_max : 0x0fffffffe
+int_max + long_min : 0xf
+int_max + int_max : 0x0fffffffe
+int_max + int_min : 0xf
+int_max + uint_max : 0x17ffffffe
+int_max + ulong_max : 0x17ffffffe
+int_max + double_min : 0x7fffffff
+int_max + double_max : 0x0fffffffffffff8e+242
+int_max + float_min : 0x7fffffff
+int_max + float_max : 0x0ffffffe+26
+int_max - zero_min : 0x7fffffff
+int_max - zero_plus : 0x7fffffff
+int_max - zero : 0x7fffffff
+int_max - NaN : NaN
+int_max - Inf_plus : -Inf
+int_max - Inf_min : Inf
+int_max - Inf : -Inf
+int_max - long_max : 0x0
+int_max - long_min : 0x0ffffffff
+int_max - int_max : 0x0
+int_max - int_min : 0x0ffffffff
+int_max - uint_max : 0x8e+7
+int_max - ulong_max : 0x8e+7
+int_max - double_min : 0x7fffffff
+int_max - double_max : 0xf00000000000008e+242
+int_max - float_min : 0x7fffffff
+int_max - float_max : 0xf000001e+26
+int_max > zero_min : 0x1
+int_max > zero_plus : 0x1
+int_max > zero : 0x1
+int_max > NaN : 0x0
+int_max > Inf_plus : 0x0
+int_max > Inf_min : 0x1
+int_max > Inf : 0x0
+int_max > long_max : 0x0
+int_max > long_min : 0x1
+int_max > int_max : 0x0
+int_max > int_min : 0x1
+int_max > uint_max : 0x0
+int_max > ulong_max : 0x0
+int_max > double_min : 0x1
+int_max > double_max : 0x0
+int_max > float_min : 0x1
+int_max > float_max : 0x0
+int_max < zero_min : 0x0
+int_max < zero_plus : 0x0
+int_max < zero : 0x0
+int_max < NaN : 0x0
+int_max < Inf_plus : 0x1
+int_max < Inf_min : 0x0
+int_max < Inf : 0x1
+int_max < long_max : 0x0
+int_max < long_min : 0x0
+int_max < int_max : 0x0
+int_max < int_min : 0x0
+int_max < uint_max : 0x1
+int_max < ulong_max : 0x1
+int_max < double_min : 0x0
+int_max < double_max : 0x1
+int_max < float_min : 0x0
+int_max < float_max : 0x1
+int_max >= zero_min : 0x1
+int_max >= zero_plus : 0x1
+int_max >= zero : 0x1
+int_max >= NaN : 0x0
+int_max >= Inf_plus : 0x0
+int_max >= Inf_min : 0x1
+int_max >= Inf : 0x0
+int_max >= long_max : 0x1
+int_max >= long_min : 0x1
+int_max >= int_max : 0x1
+int_max >= int_min : 0x1
+int_max >= uint_max : 0x0
+int_max >= ulong_max : 0x0
+int_max >= double_min : 0x1
+int_max >= double_max : 0x0
+int_max >= float_min : 0x1
+int_max >= float_max : 0x0
+int_max <= zero_min : 0x0
+int_max <= zero_plus : 0x0
+int_max <= zero : 0x0
+int_max <= NaN : 0x0
+int_max <= Inf_plus : 0x1
+int_max <= Inf_min : 0x0
+int_max <= Inf : 0x1
+int_max <= long_max : 0x1
+int_max <= long_min : 0x0
+int_max <= int_max : 0x1
+int_max <= int_min : 0x0
+int_max <= uint_max : 0x1
+int_max <= ulong_max : 0x1
+int_max <= double_min : 0x0
+int_max <= double_max : 0x1
+int_max <= float_min : 0x0
+int_max <= float_max : 0x1
+int_max == zero_min : 0x0
+int_max == zero_plus : 0x0
+int_max == zero : 0x0
+int_max == NaN : 0x0
+int_max == Inf_plus : 0x0
+int_max == Inf_min : 0x0
+int_max == Inf : 0x0
+int_max == long_max : 0x1
+int_max == long_min : 0x0
+int_max == int_max : 0x1
+int_max == int_min : 0x0
+int_max == uint_max : 0x0
+int_max == ulong_max : 0x0
+int_max == double_min : 0x0
+int_max == double_max : 0x0
+int_max == float_min : 0x0
+int_max == float_max : 0x0
+int_max != zero_min : 0x1
+int_max != zero_plus : 0x1
+int_max != zero : 0x1
+int_max != NaN : 0x1
+int_max != Inf_plus : 0x1
+int_max != Inf_min : 0x1
+int_max != Inf : 0x1
+int_max != long_max : 0x0
+int_max != long_min : 0x1
+int_max != int_max : 0x0
+int_max != int_min : 0x1
+int_max != uint_max : 0x1
+int_max != ulong_max : 0x1
+int_max != double_min : 0x1
+int_max != double_max : 0x1
+int_max != float_min : 0x1
+int_max != float_max : 0x1
+int_max * int_max * zero_min : 0x0
+int_max * int_max * zero_plus : 0x0
+int_max * int_max * zero : 0x0
+int_max * int_max * NaN : NaN
+int_max * int_max * Inf_plus : Inf
+int_max * int_max * Inf_min : -Inf
+int_max * int_max * Inf : Inf
+int_max * int_max * long_max : 0x1fffffff4e+15
+int_max * int_max * long_min : 0xe00000008e+15
+int_max * int_max * int_max : 0x1fffffff4e+15
+int_max * int_max * int_min : 0xe00000008e+15
+int_max * int_max * uint_max : 0x3ffffffece+15
+int_max * int_max * ulong_max : 0x3ffffffece+15
+int_max * int_max * double_min : 0x.0fffffffce-239
+int_max * int_max * double_max : Inf
+int_max * int_max * float_min : 0x.0fffffffce-15
+int_max * int_max * float_max : 0x3fffffbfe+40
+int_min / zero_min : Inf
+int_min / zero_plus : -Inf
+int_min / zero : -Inf
+int_min / NaN : NaN
+int_min / Inf_plus : 0x0
+int_min / Inf_min : 0x0
+int_min / Inf : 0x0
+int_min / long_max : 0xe.fffffffe
+int_min / long_min : 0x1
+int_min / int_max : 0xe.fffffffe
+int_min / int_min : 0x1
+int_min / uint_max : 0xf.7fffffff8
+int_min / ulong_max : 0xf.7fffffff8
+int_min / double_min : -Inf
+int_min / double_max : 0x.8e-248
+int_min / float_min : 0xee+39
+int_min / float_max : 0x.f7fffff7fffff8e-23
+int_min * zero_min : 0x0
+int_min * zero_plus : 0x0
+int_min * zero : 0x0
+int_min * NaN : NaN
+int_min * Inf_plus : -Inf
+int_min * Inf_min : Inf
+int_min * Inf : -Inf
+int_min * long_max : 0xc00000008e+7
+int_min * long_min : 0x4e+15
+int_min * int_max : 0xc00000008e+7
+int_min * int_min : 0x4e+15
+int_min * uint_max : 0x800000008e+7
+int_min * ulong_max : 0x800000008e+7
+int_min * double_min : 0x.ee-247
+int_min * double_max : -Inf
+int_min * float_min : 0x.ee-23
+int_min * float_max : 0x8000008e+33
+int_min + zero_min : 0x8e+7
+int_min + zero_plus : 0x8e+7
+int_min + zero : 0x8e+7
+int_min + NaN : NaN
+int_min + Inf_plus : Inf
+int_min + Inf_min : -Inf
+int_min + Inf : Inf
+int_min + long_max : 0xf
+int_min + long_min : 0xfe+8
+int_min + int_max : 0xf
+int_min + int_min : 0xfe+8
+int_min + uint_max : 0x7fffffff
+int_min + ulong_max : 0x7fffffff
+int_min + double_min : 0x8e+7
+int_min + double_max : 0x0fffffffffffff8e+242
+int_min + float_min : 0x8e+7
+int_min + float_max : 0x0ffffffe+26
+int_min - zero_min : 0x8e+7
+int_min - zero_plus : 0x8e+7
+int_min - zero : 0x8e+7
+int_min - NaN : NaN
+int_min - Inf_plus : -Inf
+int_min - Inf_min : Inf
+int_min - Inf : -Inf
+int_min - long_max : 0xf00000001
+int_min - long_min : 0x0
+int_min - int_max : 0xf00000001
+int_min - int_min : 0x0
+int_min - uint_max : 0xe80000001
+int_min - ulong_max : 0xe80000001
+int_min - double_min : 0x8e+7
+int_min - double_max : 0xf00000000000008e+242
+int_min - float_min : 0x8e+7
+int_min - float_max : 0xf000001e+26
+int_min > zero_min : 0x0
+int_min > zero_plus : 0x0
+int_min > zero : 0x0
+int_min > NaN : 0x0
+int_min > Inf_plus : 0x0
+int_min > Inf_min : 0x1
+int_min > Inf : 0x0
+int_min > long_max : 0x0
+int_min > long_min : 0x0
+int_min > int_max : 0x0
+int_min > int_min : 0x0
+int_min > uint_max : 0x0
+int_min > ulong_max : 0x0
+int_min > double_min : 0x0
+int_min > double_max : 0x0
+int_min > float_min : 0x0
+int_min > float_max : 0x0
+int_min < zero_min : 0x1
+int_min < zero_plus : 0x1
+int_min < zero : 0x1
+int_min < NaN : 0x0
+int_min < Inf_plus : 0x1
+int_min < Inf_min : 0x0
+int_min < Inf : 0x1
+int_min < long_max : 0x1
+int_min < long_min : 0x0
+int_min < int_max : 0x1
+int_min < int_min : 0x0
+int_min < uint_max : 0x1
+int_min < ulong_max : 0x1
+int_min < double_min : 0x1
+int_min < double_max : 0x1
+int_min < float_min : 0x1
+int_min < float_max : 0x1
+int_min >= zero_min : 0x0
+int_min >= zero_plus : 0x0
+int_min >= zero : 0x0
+int_min >= NaN : 0x0
+int_min >= Inf_plus : 0x0
+int_min >= Inf_min : 0x1
+int_min >= Inf : 0x0
+int_min >= long_max : 0x0
+int_min >= long_min : 0x1
+int_min >= int_max : 0x0
+int_min >= int_min : 0x1
+int_min >= uint_max : 0x0
+int_min >= ulong_max : 0x0
+int_min >= double_min : 0x0
+int_min >= double_max : 0x0
+int_min >= float_min : 0x0
+int_min >= float_max : 0x0
+int_min <= zero_min : 0x1
+int_min <= zero_plus : 0x1
+int_min <= zero : 0x1
+int_min <= NaN : 0x0
+int_min <= Inf_plus : 0x1
+int_min <= Inf_min : 0x0
+int_min <= Inf : 0x1
+int_min <= long_max : 0x1
+int_min <= long_min : 0x1
+int_min <= int_max : 0x1
+int_min <= int_min : 0x1
+int_min <= uint_max : 0x1
+int_min <= ulong_max : 0x1
+int_min <= double_min : 0x1
+int_min <= double_max : 0x1
+int_min <= float_min : 0x1
+int_min <= float_max : 0x1
+int_min == zero_min : 0x0
+int_min == zero_plus : 0x0
+int_min == zero : 0x0
+int_min == NaN : 0x0
+int_min == Inf_plus : 0x0
+int_min == Inf_min : 0x0
+int_min == Inf : 0x0
+int_min == long_max : 0x0
+int_min == long_min : 0x1
+int_min == int_max : 0x0
+int_min == int_min : 0x1
+int_min == uint_max : 0x0
+int_min == ulong_max : 0x0
+int_min == double_min : 0x0
+int_min == double_max : 0x0
+int_min == float_min : 0x0
+int_min == float_max : 0x0
+int_min != zero_min : 0x1
+int_min != zero_plus : 0x1
+int_min != zero : 0x1
+int_min != NaN : 0x1
+int_min != Inf_plus : 0x1
+int_min != Inf_min : 0x1
+int_min != Inf : 0x1
+int_min != long_max : 0x1
+int_min != long_min : 0x0
+int_min != int_max : 0x1
+int_min != int_min : 0x0
+int_min != uint_max : 0x1
+int_min != ulong_max : 0x1
+int_min != double_min : 0x1
+int_min != double_max : 0x1
+int_min != float_min : 0x1
+int_min != float_max : 0x1
+int_min * int_min * zero_min : 0x0
+int_min * int_min * zero_plus : 0x0
+int_min * int_min * zero : 0x0
+int_min * int_min * NaN : NaN
+int_min * int_min * Inf_plus : Inf
+int_min * int_min * Inf_min : -Inf
+int_min * int_min * Inf : Inf
+int_min * int_min * long_max : 0x1fffffffce+15
+int_min * int_min * long_min : 0xee+23
+int_min * int_min * int_max : 0x1fffffffce+15
+int_min * int_min * int_min : 0xee+23
+int_min * int_min * uint_max : 0x3fffffffce+15
+int_min * int_min * ulong_max : 0x3fffffffce+15
+int_min * int_min * double_min : 0x.1e-239
+int_min * int_min * double_max : Inf
+int_min * int_min * float_min : 0x.1e-15
+int_min * int_min * float_max : 0x3fffffce+41
+uint_max / zero_min : -Inf
+uint_max / zero_plus : Inf
+uint_max / zero : Inf
+uint_max / NaN : NaN
+uint_max / Inf_plus : 0x0
+uint_max / Inf_min : 0x0
+uint_max / Inf : 0x0
+uint_max / long_max : 0x2.00000002
+uint_max / long_min : 0xe.00000002
+uint_max / int_max : 0x2.00000002
+uint_max / int_min : 0xe.00000002
+uint_max / uint_max : 0x1
+uint_max / ulong_max : 0x1
+uint_max / double_min : Inf
+uint_max / double_max : 0x.0ffffffff000008e-247
+uint_max / float_min : 0x3fffffffce+31
+uint_max / float_max : 0x.1000000ff0001e-23
+uint_max * zero_min : 0x0
+uint_max * zero_plus : 0x0
+uint_max * zero : 0x0
+uint_max * NaN : NaN
+uint_max * Inf_plus : Inf
+uint_max * Inf_min : -Inf
+uint_max * Inf : Inf
+uint_max * long_max : 0x7ffffffe8e+7
+uint_max * long_min : 0x800000008e+7
+uint_max * int_max : 0x7ffffffe8e+7
+uint_max * int_min : 0x800000008e+7
+uint_max * uint_max : 0x0fffffffee+8
+uint_max * ulong_max : 0x0fffffffee+8
+uint_max * double_min : 0x.3fffffffce-247
+uint_max * double_max : Inf
+uint_max * float_min : 0x.3fffffffce-23
+uint_max * float_max : 0x0fffffeffe+32
+uint_max + zero_min : 0x0ffffffff
+uint_max + zero_plus : 0x0ffffffff
+uint_max + zero : 0x0ffffffff
+uint_max + NaN : NaN
+uint_max + Inf_plus : Inf
+uint_max + Inf_min : -Inf
+uint_max + Inf : Inf
+uint_max + long_max : 0x17ffffffe
+uint_max + long_min : 0x7fffffff
+uint_max + int_max : 0x17ffffffe
+uint_max + int_min : 0x7fffffff
+uint_max + uint_max : 0x1fffffffe
+uint_max + ulong_max : 0x1fffffffe
+uint_max + double_min : 0x0ffffffff
+uint_max + double_max : 0x0fffffffffffff8e+242
+uint_max + float_min : 0x0ffffffff
+uint_max + float_max : 0x0ffffffe+26
+uint_max - zero_min : 0x0ffffffff
+uint_max - zero_plus : 0x0ffffffff
+uint_max - zero : 0x0ffffffff
+uint_max - NaN : NaN
+uint_max - Inf_plus : -Inf
+uint_max - Inf_min : Inf
+uint_max - Inf : -Inf
+uint_max - long_max : 0x08e+7
+uint_max - long_min : 0x17fffffff
+uint_max - int_max : 0x08e+7
+uint_max - int_min : 0x17fffffff
+uint_max - uint_max : 0x0
+uint_max - ulong_max : 0x0
+uint_max - double_min : 0x0ffffffff
+uint_max - double_max : 0xf00000000000008e+242
+uint_max - float_min : 0x0ffffffff
+uint_max - float_max : 0xf000001e+26
+uint_max > zero_min : 0x1
+uint_max > zero_plus : 0x1
+uint_max > zero : 0x1
+uint_max > NaN : 0x0
+uint_max > Inf_plus : 0x0
+uint_max > Inf_min : 0x1
+uint_max > Inf : 0x0
+uint_max > long_max : 0x1
+uint_max > long_min : 0x1
+uint_max > int_max : 0x1
+uint_max > int_min : 0x1
+uint_max > uint_max : 0x0
+uint_max > ulong_max : 0x0
+uint_max > double_min : 0x1
+uint_max > double_max : 0x0
+uint_max > float_min : 0x1
+uint_max > float_max : 0x0
+uint_max < zero_min : 0x0
+uint_max < zero_plus : 0x0
+uint_max < zero : 0x0
+uint_max < NaN : 0x0
+uint_max < Inf_plus : 0x1
+uint_max < Inf_min : 0x0
+uint_max < Inf : 0x1
+uint_max < long_max : 0x0
+uint_max < long_min : 0x0
+uint_max < int_max : 0x0
+uint_max < int_min : 0x0
+uint_max < uint_max : 0x0
+uint_max < ulong_max : 0x0
+uint_max < double_min : 0x0
+uint_max < double_max : 0x1
+uint_max < float_min : 0x0
+uint_max < float_max : 0x1
+uint_max >= zero_min : 0x1
+uint_max >= zero_plus : 0x1
+uint_max >= zero : 0x1
+uint_max >= NaN : 0x0
+uint_max >= Inf_plus : 0x0
+uint_max >= Inf_min : 0x1
+uint_max >= Inf : 0x0
+uint_max >= long_max : 0x1
+uint_max >= long_min : 0x1
+uint_max >= int_max : 0x1
+uint_max >= int_min : 0x1
+uint_max >= uint_max : 0x1
+uint_max >= ulong_max : 0x1
+uint_max >= double_min : 0x1
+uint_max >= double_max : 0x0
+uint_max >= float_min : 0x1
+uint_max >= float_max : 0x0
+uint_max <= zero_min : 0x0
+uint_max <= zero_plus : 0x0
+uint_max <= zero : 0x0
+uint_max <= NaN : 0x0
+uint_max <= Inf_plus : 0x1
+uint_max <= Inf_min : 0x0
+uint_max <= Inf : 0x1
+uint_max <= long_max : 0x0
+uint_max <= long_min : 0x0
+uint_max <= int_max : 0x0
+uint_max <= int_min : 0x0
+uint_max <= uint_max : 0x1
+uint_max <= ulong_max : 0x1
+uint_max <= double_min : 0x0
+uint_max <= double_max : 0x1
+uint_max <= float_min : 0x0
+uint_max <= float_max : 0x1
+uint_max == zero_min : 0x0
+uint_max == zero_plus : 0x0
+uint_max == zero : 0x0
+uint_max == NaN : 0x0
+uint_max == Inf_plus : 0x0
+uint_max == Inf_min : 0x0
+uint_max == Inf : 0x0
+uint_max == long_max : 0x0
+uint_max == long_min : 0x0
+uint_max == int_max : 0x0
+uint_max == int_min : 0x0
+uint_max == uint_max : 0x1
+uint_max == ulong_max : 0x1
+uint_max == double_min : 0x0
+uint_max == double_max : 0x0
+uint_max == float_min : 0x0
+uint_max == float_max : 0x0
+uint_max != zero_min : 0x1
+uint_max != zero_plus : 0x1
+uint_max != zero : 0x1
+uint_max != NaN : 0x1
+uint_max != Inf_plus : 0x1
+uint_max != Inf_min : 0x1
+uint_max != Inf : 0x1
+uint_max != long_max : 0x1
+uint_max != long_min : 0x1
+uint_max != int_max : 0x1
+uint_max != int_min : 0x1
+uint_max != uint_max : 0x0
+uint_max != ulong_max : 0x0
+uint_max != double_min : 0x1
+uint_max != double_max : 0x1
+uint_max != float_min : 0x1
+uint_max != float_max : 0x1
+uint_max * uint_max * zero_min : 0x0
+uint_max * uint_max * zero_plus : 0x0
+uint_max * uint_max * zero : 0x0
+uint_max * uint_max * NaN : NaN
+uint_max * uint_max * Inf_plus : Inf
+uint_max * uint_max * Inf_min : -Inf
+uint_max * uint_max * Inf : Inf
+uint_max * uint_max * long_max : 0x7ffffffee+16
+uint_max * uint_max * long_min : 0x80000001e+16
+uint_max * uint_max * int_max : 0x7ffffffee+16
+uint_max * uint_max * int_min : 0x80000001e+16
+uint_max * uint_max * uint_max : 0x0fffffffde+16
+uint_max * uint_max * ulong_max : 0x0fffffffde+16
+uint_max * uint_max * double_min : 0x.3fffffff8e-239
+uint_max * uint_max * double_max : Inf
+uint_max * uint_max * float_min : 0x.3fffffff8e-15
+uint_max * uint_max * float_max : 0x0fffffefee+40
+ulong_max / zero_min : -Inf
+ulong_max / zero_plus : Inf
+ulong_max / zero : Inf
+ulong_max / NaN : NaN
+ulong_max / Inf_plus : 0x0
+ulong_max / Inf_min : 0x0
+ulong_max / Inf : 0x0
+ulong_max / long_max : 0x2.00000002
+ulong_max / long_min : 0xe.00000002
+ulong_max / int_max : 0x2.00000002
+ulong_max / int_min : 0xe.00000002
+ulong_max / uint_max : 0x1
+ulong_max / ulong_max : 0x1
+ulong_max / double_min : Inf
+ulong_max / double_max : 0x.0ffffffff000008e-247
+ulong_max / float_min : 0x3fffffffce+31
+ulong_max / float_max : 0x.1000000ff0001e-23
+ulong_max * zero_min : 0x0
+ulong_max * zero_plus : 0x0
+ulong_max * zero : 0x0
+ulong_max * NaN : NaN
+ulong_max * Inf_plus : Inf
+ulong_max * Inf_min : -Inf
+ulong_max * Inf : Inf
+ulong_max * long_max : 0x7ffffffe8e+7
+ulong_max * long_min : 0x800000008e+7
+ulong_max * int_max : 0x7ffffffe8e+7
+ulong_max * int_min : 0x800000008e+7
+ulong_max * uint_max : 0x0fffffffee+8
+ulong_max * ulong_max : 0x0fffffffee+8
+ulong_max * double_min : 0x.3fffffffce-247
+ulong_max * double_max : Inf
+ulong_max * float_min : 0x.3fffffffce-23
+ulong_max * float_max : 0x0fffffeffe+32
+ulong_max + zero_min : 0x0ffffffff
+ulong_max + zero_plus : 0x0ffffffff
+ulong_max + zero : 0x0ffffffff
+ulong_max + NaN : NaN
+ulong_max + Inf_plus : Inf
+ulong_max + Inf_min : -Inf
+ulong_max + Inf : Inf
+ulong_max + long_max : 0x17ffffffe
+ulong_max + long_min : 0x7fffffff
+ulong_max + int_max : 0x17ffffffe
+ulong_max + int_min : 0x7fffffff
+ulong_max + uint_max : 0x1fffffffe
+ulong_max + ulong_max : 0x1fffffffe
+ulong_max + double_min : 0x0ffffffff
+ulong_max + double_max : 0x0fffffffffffff8e+242
+ulong_max + float_min : 0x0ffffffff
+ulong_max + float_max : 0x0ffffffe+26
+ulong_max - zero_min : 0x0ffffffff
+ulong_max - zero_plus : 0x0ffffffff
+ulong_max - zero : 0x0ffffffff
+ulong_max - NaN : NaN
+ulong_max - Inf_plus : -Inf
+ulong_max - Inf_min : Inf
+ulong_max - Inf : -Inf
+ulong_max - long_max : 0x08e+7
+ulong_max - long_min : 0x17fffffff
+ulong_max - int_max : 0x08e+7
+ulong_max - int_min : 0x17fffffff
+ulong_max - uint_max : 0x0
+ulong_max - ulong_max : 0x0
+ulong_max - double_min : 0x0ffffffff
+ulong_max - double_max : 0xf00000000000008e+242
+ulong_max - float_min : 0x0ffffffff
+ulong_max - float_max : 0xf000001e+26
+ulong_max > zero_min : 0x1
+ulong_max > zero_plus : 0x1
+ulong_max > zero : 0x1
+ulong_max > NaN : 0x0
+ulong_max > Inf_plus : 0x0
+ulong_max > Inf_min : 0x1
+ulong_max > Inf : 0x0
+ulong_max > long_max : 0x1
+ulong_max > long_min : 0x1
+ulong_max > int_max : 0x1
+ulong_max > int_min : 0x1
+ulong_max > uint_max : 0x0
+ulong_max > ulong_max : 0x0
+ulong_max > double_min : 0x1
+ulong_max > double_max : 0x0
+ulong_max > float_min : 0x1
+ulong_max > float_max : 0x0
+ulong_max < zero_min : 0x0
+ulong_max < zero_plus : 0x0
+ulong_max < zero : 0x0
+ulong_max < NaN : 0x0
+ulong_max < Inf_plus : 0x1
+ulong_max < Inf_min : 0x0
+ulong_max < Inf : 0x1
+ulong_max < long_max : 0x0
+ulong_max < long_min : 0x0
+ulong_max < int_max : 0x0
+ulong_max < int_min : 0x0
+ulong_max < uint_max : 0x0
+ulong_max < ulong_max : 0x0
+ulong_max < double_min : 0x0
+ulong_max < double_max : 0x1
+ulong_max < float_min : 0x0
+ulong_max < float_max : 0x1
+ulong_max >= zero_min : 0x1
+ulong_max >= zero_plus : 0x1
+ulong_max >= zero : 0x1
+ulong_max >= NaN : 0x0
+ulong_max >= Inf_plus : 0x0
+ulong_max >= Inf_min : 0x1
+ulong_max >= Inf : 0x0
+ulong_max >= long_max : 0x1
+ulong_max >= long_min : 0x1
+ulong_max >= int_max : 0x1
+ulong_max >= int_min : 0x1
+ulong_max >= uint_max : 0x1
+ulong_max >= ulong_max : 0x1
+ulong_max >= double_min : 0x1
+ulong_max >= double_max : 0x0
+ulong_max >= float_min : 0x1
+ulong_max >= float_max : 0x0
+ulong_max <= zero_min : 0x0
+ulong_max <= zero_plus : 0x0
+ulong_max <= zero : 0x0
+ulong_max <= NaN : 0x0
+ulong_max <= Inf_plus : 0x1
+ulong_max <= Inf_min : 0x0
+ulong_max <= Inf : 0x1
+ulong_max <= long_max : 0x0
+ulong_max <= long_min : 0x0
+ulong_max <= int_max : 0x0
+ulong_max <= int_min : 0x0
+ulong_max <= uint_max : 0x1
+ulong_max <= ulong_max : 0x1
+ulong_max <= double_min : 0x0
+ulong_max <= double_max : 0x1
+ulong_max <= float_min : 0x0
+ulong_max <= float_max : 0x1
+ulong_max == zero_min : 0x0
+ulong_max == zero_plus : 0x0
+ulong_max == zero : 0x0
+ulong_max == NaN : 0x0
+ulong_max == Inf_plus : 0x0
+ulong_max == Inf_min : 0x0
+ulong_max == Inf : 0x0
+ulong_max == long_max : 0x0
+ulong_max == long_min : 0x0
+ulong_max == int_max : 0x0
+ulong_max == int_min : 0x0
+ulong_max == uint_max : 0x1
+ulong_max == ulong_max : 0x1
+ulong_max == double_min : 0x0
+ulong_max == double_max : 0x0
+ulong_max == float_min : 0x0
+ulong_max == float_max : 0x0
+ulong_max != zero_min : 0x1
+ulong_max != zero_plus : 0x1
+ulong_max != zero : 0x1
+ulong_max != NaN : 0x1
+ulong_max != Inf_plus : 0x1
+ulong_max != Inf_min : 0x1
+ulong_max != Inf : 0x1
+ulong_max != long_max : 0x1
+ulong_max != long_min : 0x1
+ulong_max != int_max : 0x1
+ulong_max != int_min : 0x1
+ulong_max != uint_max : 0x0
+ulong_max != ulong_max : 0x0
+ulong_max != double_min : 0x1
+ulong_max != double_max : 0x1
+ulong_max != float_min : 0x1
+ulong_max != float_max : 0x1
+ulong_max * ulong_max * zero_min : 0x0
+ulong_max * ulong_max * zero_plus : 0x0
+ulong_max * ulong_max * zero : 0x0
+ulong_max * ulong_max * NaN : NaN
+ulong_max * ulong_max * Inf_plus : Inf
+ulong_max * ulong_max * Inf_min : -Inf
+ulong_max * ulong_max * Inf : Inf
+ulong_max * ulong_max * long_max : 0x7ffffffee+16
+ulong_max * ulong_max * long_min : 0x80000001e+16
+ulong_max * ulong_max * int_max : 0x7ffffffee+16
+ulong_max * ulong_max * int_min : 0x80000001e+16
+ulong_max * ulong_max * uint_max : 0x0fffffffde+16
+ulong_max * ulong_max * ulong_max : 0x0fffffffde+16
+ulong_max * ulong_max * double_min : 0x.3fffffff8e-239
+ulong_max * ulong_max * double_max : Inf
+ulong_max * ulong_max * float_min : 0x.3fffffff8e-15
+ulong_max * ulong_max * float_max : 0x0fffffefee+40
+****************** limits fx_float_double
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x7fffffff
+long_min : 0x8e+7
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+double_min / zero_min : -Inf
+double_min / zero_plus : Inf
+double_min / zero : Inf
+double_min / NaN : NaN
+double_min / Inf_plus : 0x0
+double_min / Inf_min : 0x0
+double_min / Inf : 0x0
+double_min / long_max : 0x.4e-263
+double_min / long_min : 0x.ce-263
+double_min / int_max : 0x.4e-263
+double_min / int_min : 0x.ce-263
+double_min / uint_max : 0x.2e-263
+double_min / ulong_max : 0x.2e-263
+double_min / double_min : 0x1
+double_min / double_max : 0x0
+double_min / float_min : 0x.1e-223
+double_min / float_max : 0x0
+double_min * zero_min : 0x0
+double_min * zero_plus : 0x0
+double_min * zero : 0x0
+double_min * NaN : NaN
+double_min * Inf_plus : Inf
+double_min * Inf_min : -Inf
+double_min * Inf : Inf
+double_min * long_max : 0x.1fffffffce-247
+double_min * long_min : 0x.ee-247
+double_min * int_max : 0x.1fffffffce-247
+double_min * int_min : 0x.ee-247
+double_min * uint_max : 0x.3fffffffce-247
+double_min * ulong_max : 0x.3fffffffce-247
+double_min * double_min : 0x0
+double_min * double_max : 0x3.ffffffffffffe
+double_min * float_min : 0x0
+double_min * float_max : 0x.3fffffce-223
+double_min + zero_min : 0x.4e-255
+double_min + zero_plus : 0x.4e-255
+double_min + zero : 0x.4e-255
+double_min + NaN : NaN
+double_min + Inf_plus : Inf
+double_min + Inf_min : -Inf
+double_min + Inf : Inf
+double_min + long_max : 0x7fffffff
+double_min + long_min : 0x8e+7
+double_min + int_max : 0x7fffffff
+double_min + int_min : 0x8e+7
+double_min + uint_max : 0x0ffffffff
+double_min + ulong_max : 0x0ffffffff
+double_min + double_min : 0x.08e-254
+double_min + double_max : 0x0fffffffffffff8e+242
+double_min + float_min : 0x.4e-31
+double_min + float_max : 0x0ffffffe+26
+double_min - zero_min : 0x.4e-255
+double_min - zero_plus : 0x.4e-255
+double_min - zero : 0x.4e-255
+double_min - NaN : NaN
+double_min - Inf_plus : -Inf
+double_min - Inf_min : Inf
+double_min - Inf : -Inf
+double_min - long_max : 0x80000001
+double_min - long_min : 0x08e+7
+double_min - int_max : 0x80000001
+double_min - int_min : 0x08e+7
+double_min - uint_max : 0xf00000001
+double_min - ulong_max : 0xf00000001
+double_min - double_min : 0x0
+double_min - double_max : 0xf00000000000008e+242
+double_min - float_min : 0x.ce-31
+double_min - float_max : 0xf000001e+26
+double_min > zero_min : 0x1
+double_min > zero_plus : 0x1
+double_min > zero : 0x1
+double_min > NaN : 0x0
+double_min > Inf_plus : 0x0
+double_min > Inf_min : 0x1
+double_min > Inf : 0x0
+double_min > long_max : 0x0
+double_min > long_min : 0x1
+double_min > int_max : 0x0
+double_min > int_min : 0x1
+double_min > uint_max : 0x0
+double_min > ulong_max : 0x0
+double_min > double_min : 0x0
+double_min > double_max : 0x0
+double_min > float_min : 0x0
+double_min > float_max : 0x0
+double_min < zero_min : 0x0
+double_min < zero_plus : 0x0
+double_min < zero : 0x0
+double_min < NaN : 0x0
+double_min < Inf_plus : 0x1
+double_min < Inf_min : 0x0
+double_min < Inf : 0x1
+double_min < long_max : 0x1
+double_min < long_min : 0x0
+double_min < int_max : 0x1
+double_min < int_min : 0x0
+double_min < uint_max : 0x1
+double_min < ulong_max : 0x1
+double_min < double_min : 0x0
+double_min < double_max : 0x1
+double_min < float_min : 0x1
+double_min < float_max : 0x1
+double_min >= zero_min : 0x1
+double_min >= zero_plus : 0x1
+double_min >= zero : 0x1
+double_min >= NaN : 0x0
+double_min >= Inf_plus : 0x0
+double_min >= Inf_min : 0x1
+double_min >= Inf : 0x0
+double_min >= long_max : 0x0
+double_min >= long_min : 0x1
+double_min >= int_max : 0x0
+double_min >= int_min : 0x1
+double_min >= uint_max : 0x0
+double_min >= ulong_max : 0x0
+double_min >= double_min : 0x1
+double_min >= double_max : 0x0
+double_min >= float_min : 0x0
+double_min >= float_max : 0x0
+double_min <= zero_min : 0x0
+double_min <= zero_plus : 0x0
+double_min <= zero : 0x0
+double_min <= NaN : 0x0
+double_min <= Inf_plus : 0x1
+double_min <= Inf_min : 0x0
+double_min <= Inf : 0x1
+double_min <= long_max : 0x1
+double_min <= long_min : 0x0
+double_min <= int_max : 0x1
+double_min <= int_min : 0x0
+double_min <= uint_max : 0x1
+double_min <= ulong_max : 0x1
+double_min <= double_min : 0x1
+double_min <= double_max : 0x1
+double_min <= float_min : 0x1
+double_min <= float_max : 0x1
+double_min == zero_min : 0x0
+double_min == zero_plus : 0x0
+double_min == zero : 0x0
+double_min == NaN : 0x0
+double_min == Inf_plus : 0x0
+double_min == Inf_min : 0x0
+double_min == Inf : 0x0
+double_min == long_max : 0x0
+double_min == long_min : 0x0
+double_min == int_max : 0x0
+double_min == int_min : 0x0
+double_min == uint_max : 0x0
+double_min == ulong_max : 0x0
+double_min == double_min : 0x1
+double_min == double_max : 0x0
+double_min == float_min : 0x0
+double_min == float_max : 0x0
+double_min != zero_min : 0x1
+double_min != zero_plus : 0x1
+double_min != zero : 0x1
+double_min != NaN : 0x1
+double_min != Inf_plus : 0x1
+double_min != Inf_min : 0x1
+double_min != Inf : 0x1
+double_min != long_max : 0x1
+double_min != long_min : 0x1
+double_min != int_max : 0x1
+double_min != int_min : 0x1
+double_min != uint_max : 0x1
+double_min != ulong_max : 0x1
+double_min != double_min : 0x0
+double_min != double_max : 0x1
+double_min != float_min : 0x1
+double_min != float_max : 0x1
+double_min * double_min * zero_min : 0x0
+double_min * double_min * zero_plus : 0x0
+double_min * double_min * zero : 0x0
+double_min * double_min * NaN : NaN
+double_min * double_min * Inf_plus : NaN
+double_min * double_min * Inf_min : NaN
+double_min * double_min * Inf : NaN
+double_min * double_min * long_max : 0x0
+double_min * double_min * long_min : 0x0
+double_min * double_min * int_max : 0x0
+double_min * double_min * int_min : 0x0
+double_min * double_min * uint_max : 0x0
+double_min * double_min * ulong_max : 0x0
+double_min * double_min * double_min : 0x0
+double_min * double_min * double_max : 0x0
+double_min * double_min * float_min : 0x0
+double_min * double_min * float_max : 0x0
+double_max / zero_min : -Inf
+double_max / zero_plus : Inf
+double_max / zero : Inf
+double_max / NaN : NaN
+double_max / Inf_plus : 0x0
+double_max / Inf_min : 0x0
+double_max / Inf : 0x0
+double_max / long_max : 0x200000004e+240
+double_max / long_min : 0xe0000000000001e+235
+double_max / int_max : 0x200000004e+240
+double_max / int_min : 0xe0000000000001e+235
+double_max / uint_max : 0x100000001e+240
+double_max / ulong_max : 0x100000001e+240
+double_max / double_min : Inf
+double_max / double_max : 0x1
+double_max / float_min : Inf
+double_max / float_max : 0x1000001000001e+212
+double_max * zero_min : 0x0
+double_max * zero_plus : 0x0
+double_max * zero : 0x0
+double_max * NaN : NaN
+double_max * Inf_plus : Inf
+double_max * Inf_min : -Inf
+double_max * Inf : Inf
+double_max * long_max : Inf
+double_max * long_min : -Inf
+double_max * int_max : Inf
+double_max * int_min : -Inf
+double_max * uint_max : Inf
+double_max * ulong_max : Inf
+double_max * double_min : 0x3.ffffffffffffe
+double_max * double_max : Inf
+double_max * float_min : 0x3ffffffffffffee+211
+double_max * float_max : Inf
+double_max + zero_min : 0x0fffffffffffff8e+242
+double_max + zero_plus : 0x0fffffffffffff8e+242
+double_max + zero : 0x0fffffffffffff8e+242
+double_max + NaN : NaN
+double_max + Inf_plus : Inf
+double_max + Inf_min : -Inf
+double_max + Inf : Inf
+double_max + long_max : 0x0fffffffffffff8e+242
+double_max + long_min : 0x0fffffffffffff8e+242
+double_max + int_max : 0x0fffffffffffff8e+242
+double_max + int_min : 0x0fffffffffffff8e+242
+double_max + uint_max : 0x0fffffffffffff8e+242
+double_max + ulong_max : 0x0fffffffffffff8e+242
+double_max + double_min : 0x0fffffffffffff8e+242
+double_max + double_max : Inf
+double_max + float_min : 0x0fffffffffffff8e+242
+double_max + float_max : 0x0fffffffffffff8e+242
+double_max - zero_min : 0x0fffffffffffff8e+242
+double_max - zero_plus : 0x0fffffffffffff8e+242
+double_max - zero : 0x0fffffffffffff8e+242
+double_max - NaN : NaN
+double_max - Inf_plus : -Inf
+double_max - Inf_min : Inf
+double_max - Inf : -Inf
+double_max - long_max : 0x0fffffffffffff8e+242
+double_max - long_min : 0x0fffffffffffff8e+242
+double_max - int_max : 0x0fffffffffffff8e+242
+double_max - int_min : 0x0fffffffffffff8e+242
+double_max - uint_max : 0x0fffffffffffff8e+242
+double_max - ulong_max : 0x0fffffffffffff8e+242
+double_max - double_min : 0x0fffffffffffff8e+242
+double_max - double_max : 0x0
+double_max - float_min : 0x0fffffffffffff8e+242
+double_max - float_max : 0x0fffffffffffff8e+242
+double_max > zero_min : 0x1
+double_max > zero_plus : 0x1
+double_max > zero : 0x1
+double_max > NaN : 0x0
+double_max > Inf_plus : 0x0
+double_max > Inf_min : 0x1
+double_max > Inf : 0x0
+double_max > long_max : 0x1
+double_max > long_min : 0x1
+double_max > int_max : 0x1
+double_max > int_min : 0x1
+double_max > uint_max : 0x1
+double_max > ulong_max : 0x1
+double_max > double_min : 0x1
+double_max > double_max : 0x0
+double_max > float_min : 0x1
+double_max > float_max : 0x1
+double_max < zero_min : 0x0
+double_max < zero_plus : 0x0
+double_max < zero : 0x0
+double_max < NaN : 0x0
+double_max < Inf_plus : 0x1
+double_max < Inf_min : 0x0
+double_max < Inf : 0x1
+double_max < long_max : 0x0
+double_max < long_min : 0x0
+double_max < int_max : 0x0
+double_max < int_min : 0x0
+double_max < uint_max : 0x0
+double_max < ulong_max : 0x0
+double_max < double_min : 0x0
+double_max < double_max : 0x0
+double_max < float_min : 0x0
+double_max < float_max : 0x0
+double_max >= zero_min : 0x1
+double_max >= zero_plus : 0x1
+double_max >= zero : 0x1
+double_max >= NaN : 0x0
+double_max >= Inf_plus : 0x0
+double_max >= Inf_min : 0x1
+double_max >= Inf : 0x0
+double_max >= long_max : 0x1
+double_max >= long_min : 0x1
+double_max >= int_max : 0x1
+double_max >= int_min : 0x1
+double_max >= uint_max : 0x1
+double_max >= ulong_max : 0x1
+double_max >= double_min : 0x1
+double_max >= double_max : 0x1
+double_max >= float_min : 0x1
+double_max >= float_max : 0x1
+double_max <= zero_min : 0x0
+double_max <= zero_plus : 0x0
+double_max <= zero : 0x0
+double_max <= NaN : 0x0
+double_max <= Inf_plus : 0x1
+double_max <= Inf_min : 0x0
+double_max <= Inf : 0x1
+double_max <= long_max : 0x0
+double_max <= long_min : 0x0
+double_max <= int_max : 0x0
+double_max <= int_min : 0x0
+double_max <= uint_max : 0x0
+double_max <= ulong_max : 0x0
+double_max <= double_min : 0x0
+double_max <= double_max : 0x1
+double_max <= float_min : 0x0
+double_max <= float_max : 0x0
+double_max == zero_min : 0x0
+double_max == zero_plus : 0x0
+double_max == zero : 0x0
+double_max == NaN : 0x0
+double_max == Inf_plus : 0x0
+double_max == Inf_min : 0x0
+double_max == Inf : 0x0
+double_max == long_max : 0x0
+double_max == long_min : 0x0
+double_max == int_max : 0x0
+double_max == int_min : 0x0
+double_max == uint_max : 0x0
+double_max == ulong_max : 0x0
+double_max == double_min : 0x0
+double_max == double_max : 0x1
+double_max == float_min : 0x0
+double_max == float_max : 0x0
+double_max != zero_min : 0x1
+double_max != zero_plus : 0x1
+double_max != zero : 0x1
+double_max != NaN : 0x1
+double_max != Inf_plus : 0x1
+double_max != Inf_min : 0x1
+double_max != Inf : 0x1
+double_max != long_max : 0x1
+double_max != long_min : 0x1
+double_max != int_max : 0x1
+double_max != int_min : 0x1
+double_max != uint_max : 0x1
+double_max != ulong_max : 0x1
+double_max != double_min : 0x1
+double_max != double_max : 0x0
+double_max != float_min : 0x1
+double_max != float_max : 0x1
+double_max * double_max * zero_min : NaN
+double_max * double_max * zero_plus : NaN
+double_max * double_max * zero : NaN
+double_max * double_max * NaN : NaN
+double_max * double_max * Inf_plus : Inf
+double_max * double_max * Inf_min : -Inf
+double_max * double_max * Inf : Inf
+double_max * double_max * long_max : Inf
+double_max * double_max * long_min : -Inf
+double_max * double_max * int_max : Inf
+double_max * double_max * int_min : -Inf
+double_max * double_max * uint_max : Inf
+double_max * double_max * ulong_max : Inf
+double_max * double_max * double_min : Inf
+double_max * double_max * double_max : Inf
+double_max * double_max * float_min : Inf
+double_max * double_max * float_max : Inf
+float_min / zero_min : -Inf
+float_min / zero_plus : Inf
+float_min / zero : Inf
+float_min / NaN : NaN
+float_min / Inf_plus : 0x0
+float_min / Inf_min : 0x0
+float_min / Inf : 0x0
+float_min / long_max : 0x.080000001e-38
+float_min / long_min : 0x.8e-39
+float_min / int_max : 0x.080000001e-38
+float_min / int_min : 0x.8e-39
+float_min / uint_max : 0x.400000004e-39
+float_min / ulong_max : 0x.400000004e-39
+float_min / double_min : 0x1e+224
+float_min / double_max : 0x0
+float_min / float_min : 0x1
+float_min / float_max : 0x.4000004000004e-63
+float_min * zero_min : 0x0
+float_min * zero_plus : 0x0
+float_min * zero : 0x0
+float_min * NaN : NaN
+float_min * Inf_plus : Inf
+float_min * Inf_min : -Inf
+float_min * Inf : Inf
+float_min * long_max : 0x.1fffffffce-23
+float_min * long_min : 0x.ee-23
+float_min * int_max : 0x.1fffffffce-23
+float_min * int_min : 0x.ee-23
+float_min * uint_max : 0x.3fffffffce-23
+float_min * ulong_max : 0x.3fffffffce-23
+float_min * double_min : 0x0
+float_min * double_max : 0x3ffffffffffffee+211
+float_min * float_min : 0x.1e-62
+float_min * float_max : 0x3.fffffc
+float_min + zero_min : 0x.4e-31
+float_min + zero_plus : 0x.4e-31
+float_min + zero : 0x.4e-31
+float_min + NaN : NaN
+float_min + Inf_plus : Inf
+float_min + Inf_min : -Inf
+float_min + Inf : Inf
+float_min + long_max : 0x7fffffff
+float_min + long_min : 0x8e+7
+float_min + int_max : 0x7fffffff
+float_min + int_min : 0x8e+7
+float_min + uint_max : 0x0ffffffff
+float_min + ulong_max : 0x0ffffffff
+float_min + double_min : 0x.4e-31
+float_min + double_max : 0x0fffffffffffff8e+242
+float_min + float_min : 0x.08e-30
+float_min + float_max : 0x0ffffffe+26
+float_min - zero_min : 0x.4e-31
+float_min - zero_plus : 0x.4e-31
+float_min - zero : 0x.4e-31
+float_min - NaN : NaN
+float_min - Inf_plus : -Inf
+float_min - Inf_min : Inf
+float_min - Inf : -Inf
+float_min - long_max : 0x80000001
+float_min - long_min : 0x08e+7
+float_min - int_max : 0x80000001
+float_min - int_min : 0x08e+7
+float_min - uint_max : 0xf00000001
+float_min - ulong_max : 0xf00000001
+float_min - double_min : 0x.4e-31
+float_min - double_max : 0xf00000000000008e+242
+float_min - float_min : 0x0
+float_min - float_max : 0xf000001e+26
+float_min > zero_min : 0x1
+float_min > zero_plus : 0x1
+float_min > zero : 0x1
+float_min > NaN : 0x0
+float_min > Inf_plus : 0x0
+float_min > Inf_min : 0x1
+float_min > Inf : 0x0
+float_min > long_max : 0x0
+float_min > long_min : 0x1
+float_min > int_max : 0x0
+float_min > int_min : 0x1
+float_min > uint_max : 0x0
+float_min > ulong_max : 0x0
+float_min > double_min : 0x1
+float_min > double_max : 0x0
+float_min > float_min : 0x0
+float_min > float_max : 0x0
+float_min < zero_min : 0x0
+float_min < zero_plus : 0x0
+float_min < zero : 0x0
+float_min < NaN : 0x0
+float_min < Inf_plus : 0x1
+float_min < Inf_min : 0x0
+float_min < Inf : 0x1
+float_min < long_max : 0x1
+float_min < long_min : 0x0
+float_min < int_max : 0x1
+float_min < int_min : 0x0
+float_min < uint_max : 0x1
+float_min < ulong_max : 0x1
+float_min < double_min : 0x0
+float_min < double_max : 0x1
+float_min < float_min : 0x0
+float_min < float_max : 0x1
+float_min >= zero_min : 0x1
+float_min >= zero_plus : 0x1
+float_min >= zero : 0x1
+float_min >= NaN : 0x0
+float_min >= Inf_plus : 0x0
+float_min >= Inf_min : 0x1
+float_min >= Inf : 0x0
+float_min >= long_max : 0x0
+float_min >= long_min : 0x1
+float_min >= int_max : 0x0
+float_min >= int_min : 0x1
+float_min >= uint_max : 0x0
+float_min >= ulong_max : 0x0
+float_min >= double_min : 0x1
+float_min >= double_max : 0x0
+float_min >= float_min : 0x1
+float_min >= float_max : 0x0
+float_min <= zero_min : 0x0
+float_min <= zero_plus : 0x0
+float_min <= zero : 0x0
+float_min <= NaN : 0x0
+float_min <= Inf_plus : 0x1
+float_min <= Inf_min : 0x0
+float_min <= Inf : 0x1
+float_min <= long_max : 0x1
+float_min <= long_min : 0x0
+float_min <= int_max : 0x1
+float_min <= int_min : 0x0
+float_min <= uint_max : 0x1
+float_min <= ulong_max : 0x1
+float_min <= double_min : 0x0
+float_min <= double_max : 0x1
+float_min <= float_min : 0x1
+float_min <= float_max : 0x1
+float_min == zero_min : 0x0
+float_min == zero_plus : 0x0
+float_min == zero : 0x0
+float_min == NaN : 0x0
+float_min == Inf_plus : 0x0
+float_min == Inf_min : 0x0
+float_min == Inf : 0x0
+float_min == long_max : 0x0
+float_min == long_min : 0x0
+float_min == int_max : 0x0
+float_min == int_min : 0x0
+float_min == uint_max : 0x0
+float_min == ulong_max : 0x0
+float_min == double_min : 0x0
+float_min == double_max : 0x0
+float_min == float_min : 0x1
+float_min == float_max : 0x0
+float_min != zero_min : 0x1
+float_min != zero_plus : 0x1
+float_min != zero : 0x1
+float_min != NaN : 0x1
+float_min != Inf_plus : 0x1
+float_min != Inf_min : 0x1
+float_min != Inf : 0x1
+float_min != long_max : 0x1
+float_min != long_min : 0x1
+float_min != int_max : 0x1
+float_min != int_min : 0x1
+float_min != uint_max : 0x1
+float_min != ulong_max : 0x1
+float_min != double_min : 0x1
+float_min != double_max : 0x1
+float_min != float_min : 0x0
+float_min != float_max : 0x1
+float_min * float_min * zero_min : 0x0
+float_min * float_min * zero_plus : 0x0
+float_min * float_min * zero : 0x0
+float_min * float_min * NaN : NaN
+float_min * float_min * Inf_plus : Inf
+float_min * float_min * Inf_min : -Inf
+float_min * float_min * Inf : Inf
+float_min * float_min * long_max : 0x.7fffffffe-55
+float_min * float_min * long_min : 0x.8e-55
+float_min * float_min * int_max : 0x.7fffffffe-55
+float_min * float_min * int_min : 0x.8e-55
+float_min * float_min * uint_max : 0x.0ffffffffe-54
+float_min * float_min * ulong_max : 0x.0ffffffffe-54
+float_min * float_min * double_min : 0x0
+float_min * float_min * double_max : 0x0fffffffffffff8e+179
+float_min * float_min * float_min : 0x.4e-94
+float_min * float_min * float_max : 0x.0ffffffe-30
+float_max / zero_min : -Inf
+float_max / zero_plus : Inf
+float_max / zero : Inf
+float_max / NaN : NaN
+float_max / Inf_plus : 0x0
+float_max / Inf_min : 0x0
+float_max / Inf : 0x0
+float_max / long_max : 0x1fffffe04e+16
+float_max / long_min : 0xe000002e+18
+float_max / int_max : 0x1fffffe04e+16
+float_max / int_min : 0xe000002e+18
+float_max / uint_max : 0x0ffffff01e+16
+float_max / ulong_max : 0x0ffffff01e+16
+float_max / double_min : Inf
+float_max / double_max : 0x.0ffffff00000008e-223
+float_max / float_min : 0x3fffffce+57
+float_max / float_max : 0x1
+float_max * zero_min : 0x0
+float_max * zero_plus : 0x0
+float_max * zero : 0x0
+float_max * NaN : NaN
+float_max * Inf_plus : Inf
+float_max * Inf_min : -Inf
+float_max * Inf : Inf
+float_max * long_max : 0x7fffff7fe+32
+float_max * long_min : 0x8000008e+33
+float_max * int_max : 0x7fffff7fe+32
+float_max * int_min : 0x8000008e+33
+float_max * uint_max : 0x0fffffeffe+32
+float_max * ulong_max : 0x0fffffeffe+32
+float_max * double_min : 0x.3fffffce-223
+float_max * double_max : Inf
+float_max * float_min : 0x3.fffffc
+float_max * float_max : 0x0fffffe000001e+52
+float_max + zero_min : 0x0ffffffe+26
+float_max + zero_plus : 0x0ffffffe+26
+float_max + zero : 0x0ffffffe+26
+float_max + NaN : NaN
+float_max + Inf_plus : Inf
+float_max + Inf_min : -Inf
+float_max + Inf : Inf
+float_max + long_max : 0x0ffffffe+26
+float_max + long_min : 0x0ffffffe+26
+float_max + int_max : 0x0ffffffe+26
+float_max + int_min : 0x0ffffffe+26
+float_max + uint_max : 0x0ffffffe+26
+float_max + ulong_max : 0x0ffffffe+26
+float_max + double_min : 0x0ffffffe+26
+float_max + double_max : 0x0fffffffffffff8e+242
+float_max + float_min : 0x0ffffffe+26
+float_max + float_max : 0x1fffffee+26
+float_max - zero_min : 0x0ffffffe+26
+float_max - zero_plus : 0x0ffffffe+26
+float_max - zero : 0x0ffffffe+26
+float_max - NaN : NaN
+float_max - Inf_plus : -Inf
+float_max - Inf_min : Inf
+float_max - Inf : -Inf
+float_max - long_max : 0x0ffffffe+26
+float_max - long_min : 0x0ffffffe+26
+float_max - int_max : 0x0ffffffe+26
+float_max - int_min : 0x0ffffffe+26
+float_max - uint_max : 0x0ffffffe+26
+float_max - ulong_max : 0x0ffffffe+26
+float_max - double_min : 0x0ffffffe+26
+float_max - double_max : 0xf00000000000008e+242
+float_max - float_min : 0x0ffffffe+26
+float_max - float_max : 0x0
+float_max > zero_min : 0x1
+float_max > zero_plus : 0x1
+float_max > zero : 0x1
+float_max > NaN : 0x0
+float_max > Inf_plus : 0x0
+float_max > Inf_min : 0x1
+float_max > Inf : 0x0
+float_max > long_max : 0x1
+float_max > long_min : 0x1
+float_max > int_max : 0x1
+float_max > int_min : 0x1
+float_max > uint_max : 0x1
+float_max > ulong_max : 0x1
+float_max > double_min : 0x1
+float_max > double_max : 0x0
+float_max > float_min : 0x1
+float_max > float_max : 0x0
+float_max < zero_min : 0x0
+float_max < zero_plus : 0x0
+float_max < zero : 0x0
+float_max < NaN : 0x0
+float_max < Inf_plus : 0x1
+float_max < Inf_min : 0x0
+float_max < Inf : 0x1
+float_max < long_max : 0x0
+float_max < long_min : 0x0
+float_max < int_max : 0x0
+float_max < int_min : 0x0
+float_max < uint_max : 0x0
+float_max < ulong_max : 0x0
+float_max < double_min : 0x0
+float_max < double_max : 0x1
+float_max < float_min : 0x0
+float_max < float_max : 0x0
+float_max >= zero_min : 0x1
+float_max >= zero_plus : 0x1
+float_max >= zero : 0x1
+float_max >= NaN : 0x0
+float_max >= Inf_plus : 0x0
+float_max >= Inf_min : 0x1
+float_max >= Inf : 0x0
+float_max >= long_max : 0x1
+float_max >= long_min : 0x1
+float_max >= int_max : 0x1
+float_max >= int_min : 0x1
+float_max >= uint_max : 0x1
+float_max >= ulong_max : 0x1
+float_max >= double_min : 0x1
+float_max >= double_max : 0x0
+float_max >= float_min : 0x1
+float_max >= float_max : 0x1
+float_max <= zero_min : 0x0
+float_max <= zero_plus : 0x0
+float_max <= zero : 0x0
+float_max <= NaN : 0x0
+float_max <= Inf_plus : 0x1
+float_max <= Inf_min : 0x0
+float_max <= Inf : 0x1
+float_max <= long_max : 0x0
+float_max <= long_min : 0x0
+float_max <= int_max : 0x0
+float_max <= int_min : 0x0
+float_max <= uint_max : 0x0
+float_max <= ulong_max : 0x0
+float_max <= double_min : 0x0
+float_max <= double_max : 0x1
+float_max <= float_min : 0x0
+float_max <= float_max : 0x1
+float_max == zero_min : 0x0
+float_max == zero_plus : 0x0
+float_max == zero : 0x0
+float_max == NaN : 0x0
+float_max == Inf_plus : 0x0
+float_max == Inf_min : 0x0
+float_max == Inf : 0x0
+float_max == long_max : 0x0
+float_max == long_min : 0x0
+float_max == int_max : 0x0
+float_max == int_min : 0x0
+float_max == uint_max : 0x0
+float_max == ulong_max : 0x0
+float_max == double_min : 0x0
+float_max == double_max : 0x0
+float_max == float_min : 0x0
+float_max == float_max : 0x1
+float_max != zero_min : 0x1
+float_max != zero_plus : 0x1
+float_max != zero : 0x1
+float_max != NaN : 0x1
+float_max != Inf_plus : 0x1
+float_max != Inf_min : 0x1
+float_max != Inf : 0x1
+float_max != long_max : 0x1
+float_max != long_min : 0x1
+float_max != int_max : 0x1
+float_max != int_min : 0x1
+float_max != uint_max : 0x1
+float_max != ulong_max : 0x1
+float_max != double_min : 0x1
+float_max != double_max : 0x1
+float_max != float_min : 0x1
+float_max != float_max : 0x0
+float_max * float_max * zero_min : 0x0
+float_max * float_max * zero_plus : 0x0
+float_max * float_max * zero : 0x0
+float_max * float_max * NaN : NaN
+float_max * float_max * Inf_plus : Inf
+float_max * float_max * Inf_min : -Inf
+float_max * float_max * Inf : Inf
+float_max * float_max * long_max : 0x7ffffeff00008e+59
+float_max * float_max * long_min : 0x800000ffffff8e+59
+float_max * float_max * int_max : 0x7ffffeff00008e+59
+float_max * float_max * int_min : 0x800000ffffff8e+59
+float_max * float_max * uint_max : 0x0fffffdff0001e+60
+float_max * float_max * ulong_max : 0x0fffffdff0001e+60
+float_max * float_max * double_min : 0x.3fffff8000004e-191
+float_max * float_max * double_max : Inf
+float_max * float_max * float_min : 0x3fffff8000004e+20
+float_max * float_max * float_max : 0x0fffffd000003e+84
+double_min / NaN : NaN
+****************** limits fx_ufix
+****************** limits fx_ufix_zero
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x07fffffff
+long_min : 0x080000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_Inf
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x07fffffff
+long_min : 0x080000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_long
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x07fffffff
+long_min : 0x080000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_double
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x07fffffff
+long_min : 0x080000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_fix
+****************** limits fx_fix_zero
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x7fffffff
+long_min : 0x80000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0xffffffff
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_Inf
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x7fffffff
+long_min : 0x80000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0xffffffff
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_long
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x7fffffff
+long_min : 0x80000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0xffffffff
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_double
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x7fffffff
+long_min : 0x80000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0xffffffff
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fixed<8, 5>
+****************** limits fx_fixed<8, 5>_zero
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0xff.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0xff.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_Inf
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0xff.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0xff.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_long
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0xff.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0xff.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_double
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0xff.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0xff.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>
+****************** limits fx_ufixed<8, 5>_zero
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x1f.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x1f.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_Inf
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x1f.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x1f.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_long
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x1f.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x1f.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_double
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x1f.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x1f.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.macosx64 b/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.macosx64
new file mode 100644
index 000000000..ab2c16dd6
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.macosx64
@@ -0,0 +1,3482 @@
+SystemC Simulation
+****************** limits fx_float_zero
+****************** limits fx_float_inf
+****************** limits fx_float
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x08e+15
+long_min : 0x8e+15
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x1e+16
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+zero_min / zero_min : NaN
+zero_min / zero_plus : NaN
+zero_min / zero : NaN
+zero_min / NaN : NaN
+zero_min / Inf_plus : 0x0
+zero_min / Inf_min : 0x0
+zero_min / Inf : 0x0
+zero_min / long_max : 0x0
+zero_min / long_min : 0x0
+zero_min / int_max : 0x0
+zero_min / int_min : 0x0
+zero_min / uint_max : 0x0
+zero_min / ulong_max : 0x0
+zero_min / double_min : 0x0
+zero_min / double_max : 0x0
+zero_min / float_min : 0x0
+zero_min / float_max : 0x0
+zero_min * zero_min : 0x0
+zero_min * zero_plus : 0x0
+zero_min * zero : 0x0
+zero_min * NaN : NaN
+zero_min * Inf_plus : NaN
+zero_min * Inf_min : NaN
+zero_min * Inf : NaN
+zero_min * long_max : 0x0
+zero_min * long_min : 0x0
+zero_min * int_max : 0x0
+zero_min * int_min : 0x0
+zero_min * uint_max : 0x0
+zero_min * ulong_max : 0x0
+zero_min * double_min : 0x0
+zero_min * double_max : 0x0
+zero_min * float_min : 0x0
+zero_min * float_max : 0x0
+zero_min + zero_min : 0x0
+zero_min + zero_plus : 0x0
+zero_min + zero : 0x0
+zero_min + NaN : NaN
+zero_min + Inf_plus : Inf
+zero_min + Inf_min : -Inf
+zero_min + Inf : Inf
+zero_min + long_max : 0x08e+15
+zero_min + long_min : 0x8e+15
+zero_min + int_max : 0x7fffffff
+zero_min + int_min : 0x8e+7
+zero_min + uint_max : 0x0ffffffff
+zero_min + ulong_max : 0x1e+16
+zero_min + double_min : 0x.4e-255
+zero_min + double_max : 0x0fffffffffffff8e+242
+zero_min + float_min : 0x.4e-31
+zero_min + float_max : 0x0ffffffe+26
+zero_min - zero_min : 0x0
+zero_min - zero_plus : 0x0
+zero_min - zero : 0x0
+zero_min - NaN : NaN
+zero_min - Inf_plus : -Inf
+zero_min - Inf_min : Inf
+zero_min - Inf : -Inf
+zero_min - long_max : 0x8e+15
+zero_min - long_min : 0x08e+15
+zero_min - int_max : 0x80000001
+zero_min - int_min : 0x08e+7
+zero_min - uint_max : 0xf00000001
+zero_min - ulong_max : 0xfe+16
+zero_min - double_min : 0x.ce-255
+zero_min - double_max : 0xf00000000000008e+242
+zero_min - float_min : 0x.ce-31
+zero_min - float_max : 0xf000001e+26
+zero_min > zero_min : 0x0
+zero_min > zero_plus : 0x0
+zero_min > zero : 0x0
+zero_min > NaN : 0x0
+zero_min > Inf_plus : 0x0
+zero_min > Inf_min : 0x1
+zero_min > Inf : 0x0
+zero_min > long_max : 0x0
+zero_min > long_min : 0x1
+zero_min > int_max : 0x0
+zero_min > int_min : 0x1
+zero_min > uint_max : 0x0
+zero_min > ulong_max : 0x0
+zero_min > double_min : 0x0
+zero_min > double_max : 0x0
+zero_min > float_min : 0x0
+zero_min > float_max : 0x0
+zero_min < zero_min : 0x0
+zero_min < zero_plus : 0x0
+zero_min < zero : 0x0
+zero_min < NaN : 0x0
+zero_min < Inf_plus : 0x1
+zero_min < Inf_min : 0x0
+zero_min < Inf : 0x1
+zero_min < long_max : 0x1
+zero_min < long_min : 0x0
+zero_min < int_max : 0x1
+zero_min < int_min : 0x0
+zero_min < uint_max : 0x1
+zero_min < ulong_max : 0x1
+zero_min < double_min : 0x1
+zero_min < double_max : 0x1
+zero_min < float_min : 0x1
+zero_min < float_max : 0x1
+zero_min >= zero_min : 0x1
+zero_min >= zero_plus : 0x1
+zero_min >= zero : 0x1
+zero_min >= NaN : 0x0
+zero_min >= Inf_plus : 0x0
+zero_min >= Inf_min : 0x1
+zero_min >= Inf : 0x0
+zero_min >= long_max : 0x0
+zero_min >= long_min : 0x1
+zero_min >= int_max : 0x0
+zero_min >= int_min : 0x1
+zero_min >= uint_max : 0x0
+zero_min >= ulong_max : 0x0
+zero_min >= double_min : 0x0
+zero_min >= double_max : 0x0
+zero_min >= float_min : 0x0
+zero_min >= float_max : 0x0
+zero_min <= zero_min : 0x1
+zero_min <= zero_plus : 0x1
+zero_min <= zero : 0x1
+zero_min <= NaN : 0x0
+zero_min <= Inf_plus : 0x1
+zero_min <= Inf_min : 0x0
+zero_min <= Inf : 0x1
+zero_min <= long_max : 0x1
+zero_min <= long_min : 0x0
+zero_min <= int_max : 0x1
+zero_min <= int_min : 0x0
+zero_min <= uint_max : 0x1
+zero_min <= ulong_max : 0x1
+zero_min <= double_min : 0x1
+zero_min <= double_max : 0x1
+zero_min <= float_min : 0x1
+zero_min <= float_max : 0x1
+zero_min == zero_min : 0x1
+zero_min == zero_plus : 0x1
+zero_min == zero : 0x1
+zero_min == NaN : 0x0
+zero_min == Inf_plus : 0x0
+zero_min == Inf_min : 0x0
+zero_min == Inf : 0x0
+zero_min == long_max : 0x0
+zero_min == long_min : 0x0
+zero_min == int_max : 0x0
+zero_min == int_min : 0x0
+zero_min == uint_max : 0x0
+zero_min == ulong_max : 0x0
+zero_min == double_min : 0x0
+zero_min == double_max : 0x0
+zero_min == float_min : 0x0
+zero_min == float_max : 0x0
+zero_min != zero_min : 0x0
+zero_min != zero_plus : 0x0
+zero_min != zero : 0x0
+zero_min != NaN : 0x1
+zero_min != Inf_plus : 0x1
+zero_min != Inf_min : 0x1
+zero_min != Inf : 0x1
+zero_min != long_max : 0x1
+zero_min != long_min : 0x1
+zero_min != int_max : 0x1
+zero_min != int_min : 0x1
+zero_min != uint_max : 0x1
+zero_min != ulong_max : 0x1
+zero_min != double_min : 0x1
+zero_min != double_max : 0x1
+zero_min != float_min : 0x1
+zero_min != float_max : 0x1
+zero_min * zero_min * zero_min : 0x0
+zero_min * zero_min * zero_plus : 0x0
+zero_min * zero_min * zero : 0x0
+zero_min * zero_min * NaN : NaN
+zero_min * zero_min * Inf_plus : NaN
+zero_min * zero_min * Inf_min : NaN
+zero_min * zero_min * Inf : NaN
+zero_min * zero_min * long_max : 0x0
+zero_min * zero_min * long_min : 0x0
+zero_min * zero_min * int_max : 0x0
+zero_min * zero_min * int_min : 0x0
+zero_min * zero_min * uint_max : 0x0
+zero_min * zero_min * ulong_max : 0x0
+zero_min * zero_min * double_min : 0x0
+zero_min * zero_min * double_max : 0x0
+zero_min * zero_min * float_min : 0x0
+zero_min * zero_min * float_max : 0x0
+zero_plus / zero_min : NaN
+zero_plus / zero_plus : NaN
+zero_plus / zero : NaN
+zero_plus / NaN : NaN
+zero_plus / Inf_plus : 0x0
+zero_plus / Inf_min : 0x0
+zero_plus / Inf : 0x0
+zero_plus / long_max : 0x0
+zero_plus / long_min : 0x0
+zero_plus / int_max : 0x0
+zero_plus / int_min : 0x0
+zero_plus / uint_max : 0x0
+zero_plus / ulong_max : 0x0
+zero_plus / double_min : 0x0
+zero_plus / double_max : 0x0
+zero_plus / float_min : 0x0
+zero_plus / float_max : 0x0
+zero_plus * zero_min : 0x0
+zero_plus * zero_plus : 0x0
+zero_plus * zero : 0x0
+zero_plus * NaN : NaN
+zero_plus * Inf_plus : NaN
+zero_plus * Inf_min : NaN
+zero_plus * Inf : NaN
+zero_plus * long_max : 0x0
+zero_plus * long_min : 0x0
+zero_plus * int_max : 0x0
+zero_plus * int_min : 0x0
+zero_plus * uint_max : 0x0
+zero_plus * ulong_max : 0x0
+zero_plus * double_min : 0x0
+zero_plus * double_max : 0x0
+zero_plus * float_min : 0x0
+zero_plus * float_max : 0x0
+zero_plus + zero_min : 0x0
+zero_plus + zero_plus : 0x0
+zero_plus + zero : 0x0
+zero_plus + NaN : NaN
+zero_plus + Inf_plus : Inf
+zero_plus + Inf_min : -Inf
+zero_plus + Inf : Inf
+zero_plus + long_max : 0x08e+15
+zero_plus + long_min : 0x8e+15
+zero_plus + int_max : 0x7fffffff
+zero_plus + int_min : 0x8e+7
+zero_plus + uint_max : 0x0ffffffff
+zero_plus + ulong_max : 0x1e+16
+zero_plus + double_min : 0x.4e-255
+zero_plus + double_max : 0x0fffffffffffff8e+242
+zero_plus + float_min : 0x.4e-31
+zero_plus + float_max : 0x0ffffffe+26
+zero_plus - zero_min : 0x0
+zero_plus - zero_plus : 0x0
+zero_plus - zero : 0x0
+zero_plus - NaN : NaN
+zero_plus - Inf_plus : -Inf
+zero_plus - Inf_min : Inf
+zero_plus - Inf : -Inf
+zero_plus - long_max : 0x8e+15
+zero_plus - long_min : 0x08e+15
+zero_plus - int_max : 0x80000001
+zero_plus - int_min : 0x08e+7
+zero_plus - uint_max : 0xf00000001
+zero_plus - ulong_max : 0xfe+16
+zero_plus - double_min : 0x.ce-255
+zero_plus - double_max : 0xf00000000000008e+242
+zero_plus - float_min : 0x.ce-31
+zero_plus - float_max : 0xf000001e+26
+zero_plus > zero_min : 0x0
+zero_plus > zero_plus : 0x0
+zero_plus > zero : 0x0
+zero_plus > NaN : 0x0
+zero_plus > Inf_plus : 0x0
+zero_plus > Inf_min : 0x1
+zero_plus > Inf : 0x0
+zero_plus > long_max : 0x0
+zero_plus > long_min : 0x1
+zero_plus > int_max : 0x0
+zero_plus > int_min : 0x1
+zero_plus > uint_max : 0x0
+zero_plus > ulong_max : 0x0
+zero_plus > double_min : 0x0
+zero_plus > double_max : 0x0
+zero_plus > float_min : 0x0
+zero_plus > float_max : 0x0
+zero_plus < zero_min : 0x0
+zero_plus < zero_plus : 0x0
+zero_plus < zero : 0x0
+zero_plus < NaN : 0x0
+zero_plus < Inf_plus : 0x1
+zero_plus < Inf_min : 0x0
+zero_plus < Inf : 0x1
+zero_plus < long_max : 0x1
+zero_plus < long_min : 0x0
+zero_plus < int_max : 0x1
+zero_plus < int_min : 0x0
+zero_plus < uint_max : 0x1
+zero_plus < ulong_max : 0x1
+zero_plus < double_min : 0x1
+zero_plus < double_max : 0x1
+zero_plus < float_min : 0x1
+zero_plus < float_max : 0x1
+zero_plus >= zero_min : 0x1
+zero_plus >= zero_plus : 0x1
+zero_plus >= zero : 0x1
+zero_plus >= NaN : 0x0
+zero_plus >= Inf_plus : 0x0
+zero_plus >= Inf_min : 0x1
+zero_plus >= Inf : 0x0
+zero_plus >= long_max : 0x0
+zero_plus >= long_min : 0x1
+zero_plus >= int_max : 0x0
+zero_plus >= int_min : 0x1
+zero_plus >= uint_max : 0x0
+zero_plus >= ulong_max : 0x0
+zero_plus >= double_min : 0x0
+zero_plus >= double_max : 0x0
+zero_plus >= float_min : 0x0
+zero_plus >= float_max : 0x0
+zero_plus <= zero_min : 0x1
+zero_plus <= zero_plus : 0x1
+zero_plus <= zero : 0x1
+zero_plus <= NaN : 0x0
+zero_plus <= Inf_plus : 0x1
+zero_plus <= Inf_min : 0x0
+zero_plus <= Inf : 0x1
+zero_plus <= long_max : 0x1
+zero_plus <= long_min : 0x0
+zero_plus <= int_max : 0x1
+zero_plus <= int_min : 0x0
+zero_plus <= uint_max : 0x1
+zero_plus <= ulong_max : 0x1
+zero_plus <= double_min : 0x1
+zero_plus <= double_max : 0x1
+zero_plus <= float_min : 0x1
+zero_plus <= float_max : 0x1
+zero_plus == zero_min : 0x1
+zero_plus == zero_plus : 0x1
+zero_plus == zero : 0x1
+zero_plus == NaN : 0x0
+zero_plus == Inf_plus : 0x0
+zero_plus == Inf_min : 0x0
+zero_plus == Inf : 0x0
+zero_plus == long_max : 0x0
+zero_plus == long_min : 0x0
+zero_plus == int_max : 0x0
+zero_plus == int_min : 0x0
+zero_plus == uint_max : 0x0
+zero_plus == ulong_max : 0x0
+zero_plus == double_min : 0x0
+zero_plus == double_max : 0x0
+zero_plus == float_min : 0x0
+zero_plus == float_max : 0x0
+zero_plus != zero_min : 0x0
+zero_plus != zero_plus : 0x0
+zero_plus != zero : 0x0
+zero_plus != NaN : 0x1
+zero_plus != Inf_plus : 0x1
+zero_plus != Inf_min : 0x1
+zero_plus != Inf : 0x1
+zero_plus != long_max : 0x1
+zero_plus != long_min : 0x1
+zero_plus != int_max : 0x1
+zero_plus != int_min : 0x1
+zero_plus != uint_max : 0x1
+zero_plus != ulong_max : 0x1
+zero_plus != double_min : 0x1
+zero_plus != double_max : 0x1
+zero_plus != float_min : 0x1
+zero_plus != float_max : 0x1
+zero_plus * zero_plus * zero_min : 0x0
+zero_plus * zero_plus * zero_plus : 0x0
+zero_plus * zero_plus * zero : 0x0
+zero_plus * zero_plus * NaN : NaN
+zero_plus * zero_plus * Inf_plus : NaN
+zero_plus * zero_plus * Inf_min : NaN
+zero_plus * zero_plus * Inf : NaN
+zero_plus * zero_plus * long_max : 0x0
+zero_plus * zero_plus * long_min : 0x0
+zero_plus * zero_plus * int_max : 0x0
+zero_plus * zero_plus * int_min : 0x0
+zero_plus * zero_plus * uint_max : 0x0
+zero_plus * zero_plus * ulong_max : 0x0
+zero_plus * zero_plus * double_min : 0x0
+zero_plus * zero_plus * double_max : 0x0
+zero_plus * zero_plus * float_min : 0x0
+zero_plus * zero_plus * float_max : 0x0
+zero / zero_min : NaN
+zero / zero_plus : NaN
+zero / zero : NaN
+zero / NaN : NaN
+zero / Inf_plus : 0x0
+zero / Inf_min : 0x0
+zero / Inf : 0x0
+zero / long_max : 0x0
+zero / long_min : 0x0
+zero / int_max : 0x0
+zero / int_min : 0x0
+zero / uint_max : 0x0
+zero / ulong_max : 0x0
+zero / double_min : 0x0
+zero / double_max : 0x0
+zero / float_min : 0x0
+zero / float_max : 0x0
+zero * zero_min : 0x0
+zero * zero_plus : 0x0
+zero * zero : 0x0
+zero * NaN : NaN
+zero * Inf_plus : NaN
+zero * Inf_min : NaN
+zero * Inf : NaN
+zero * long_max : 0x0
+zero * long_min : 0x0
+zero * int_max : 0x0
+zero * int_min : 0x0
+zero * uint_max : 0x0
+zero * ulong_max : 0x0
+zero * double_min : 0x0
+zero * double_max : 0x0
+zero * float_min : 0x0
+zero * float_max : 0x0
+zero + zero_min : 0x0
+zero + zero_plus : 0x0
+zero + zero : 0x0
+zero + NaN : NaN
+zero + Inf_plus : Inf
+zero + Inf_min : -Inf
+zero + Inf : Inf
+zero + long_max : 0x08e+15
+zero + long_min : 0x8e+15
+zero + int_max : 0x7fffffff
+zero + int_min : 0x8e+7
+zero + uint_max : 0x0ffffffff
+zero + ulong_max : 0x1e+16
+zero + double_min : 0x.4e-255
+zero + double_max : 0x0fffffffffffff8e+242
+zero + float_min : 0x.4e-31
+zero + float_max : 0x0ffffffe+26
+zero - zero_min : 0x0
+zero - zero_plus : 0x0
+zero - zero : 0x0
+zero - NaN : NaN
+zero - Inf_plus : -Inf
+zero - Inf_min : Inf
+zero - Inf : -Inf
+zero - long_max : 0x8e+15
+zero - long_min : 0x08e+15
+zero - int_max : 0x80000001
+zero - int_min : 0x08e+7
+zero - uint_max : 0xf00000001
+zero - ulong_max : 0xfe+16
+zero - double_min : 0x.ce-255
+zero - double_max : 0xf00000000000008e+242
+zero - float_min : 0x.ce-31
+zero - float_max : 0xf000001e+26
+zero > zero_min : 0x0
+zero > zero_plus : 0x0
+zero > zero : 0x0
+zero > NaN : 0x0
+zero > Inf_plus : 0x0
+zero > Inf_min : 0x1
+zero > Inf : 0x0
+zero > long_max : 0x0
+zero > long_min : 0x1
+zero > int_max : 0x0
+zero > int_min : 0x1
+zero > uint_max : 0x0
+zero > ulong_max : 0x0
+zero > double_min : 0x0
+zero > double_max : 0x0
+zero > float_min : 0x0
+zero > float_max : 0x0
+zero < zero_min : 0x0
+zero < zero_plus : 0x0
+zero < zero : 0x0
+zero < NaN : 0x0
+zero < Inf_plus : 0x1
+zero < Inf_min : 0x0
+zero < Inf : 0x1
+zero < long_max : 0x1
+zero < long_min : 0x0
+zero < int_max : 0x1
+zero < int_min : 0x0
+zero < uint_max : 0x1
+zero < ulong_max : 0x1
+zero < double_min : 0x1
+zero < double_max : 0x1
+zero < float_min : 0x1
+zero < float_max : 0x1
+zero >= zero_min : 0x1
+zero >= zero_plus : 0x1
+zero >= zero : 0x1
+zero >= NaN : 0x0
+zero >= Inf_plus : 0x0
+zero >= Inf_min : 0x1
+zero >= Inf : 0x0
+zero >= long_max : 0x0
+zero >= long_min : 0x1
+zero >= int_max : 0x0
+zero >= int_min : 0x1
+zero >= uint_max : 0x0
+zero >= ulong_max : 0x0
+zero >= double_min : 0x0
+zero >= double_max : 0x0
+zero >= float_min : 0x0
+zero >= float_max : 0x0
+zero <= zero_min : 0x1
+zero <= zero_plus : 0x1
+zero <= zero : 0x1
+zero <= NaN : 0x0
+zero <= Inf_plus : 0x1
+zero <= Inf_min : 0x0
+zero <= Inf : 0x1
+zero <= long_max : 0x1
+zero <= long_min : 0x0
+zero <= int_max : 0x1
+zero <= int_min : 0x0
+zero <= uint_max : 0x1
+zero <= ulong_max : 0x1
+zero <= double_min : 0x1
+zero <= double_max : 0x1
+zero <= float_min : 0x1
+zero <= float_max : 0x1
+zero == zero_min : 0x1
+zero == zero_plus : 0x1
+zero == zero : 0x1
+zero == NaN : 0x0
+zero == Inf_plus : 0x0
+zero == Inf_min : 0x0
+zero == Inf : 0x0
+zero == long_max : 0x0
+zero == long_min : 0x0
+zero == int_max : 0x0
+zero == int_min : 0x0
+zero == uint_max : 0x0
+zero == ulong_max : 0x0
+zero == double_min : 0x0
+zero == double_max : 0x0
+zero == float_min : 0x0
+zero == float_max : 0x0
+zero != zero_min : 0x0
+zero != zero_plus : 0x0
+zero != zero : 0x0
+zero != NaN : 0x1
+zero != Inf_plus : 0x1
+zero != Inf_min : 0x1
+zero != Inf : 0x1
+zero != long_max : 0x1
+zero != long_min : 0x1
+zero != int_max : 0x1
+zero != int_min : 0x1
+zero != uint_max : 0x1
+zero != ulong_max : 0x1
+zero != double_min : 0x1
+zero != double_max : 0x1
+zero != float_min : 0x1
+zero != float_max : 0x1
+zero * zero * zero_min : 0x0
+zero * zero * zero_plus : 0x0
+zero * zero * zero : 0x0
+zero * zero * NaN : NaN
+zero * zero * Inf_plus : NaN
+zero * zero * Inf_min : NaN
+zero * zero * Inf : NaN
+zero * zero * long_max : 0x0
+zero * zero * long_min : 0x0
+zero * zero * int_max : 0x0
+zero * zero * int_min : 0x0
+zero * zero * uint_max : 0x0
+zero * zero * ulong_max : 0x0
+zero * zero * double_min : 0x0
+zero * zero * double_max : 0x0
+zero * zero * float_min : 0x0
+zero * zero * float_max : 0x0
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x08e+15
+long_min : 0x8e+15
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x1e+16
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+NaN / zero_min : NaN
+NaN / zero_plus : NaN
+NaN / zero : NaN
+NaN / NaN : NaN
+NaN / Inf_plus : NaN
+NaN / Inf_min : NaN
+NaN / Inf : NaN
+NaN / long_max : NaN
+NaN / long_min : NaN
+NaN / int_max : NaN
+NaN / int_min : NaN
+NaN / uint_max : NaN
+NaN / ulong_max : NaN
+NaN / double_min : NaN
+NaN / double_max : NaN
+NaN / float_min : NaN
+NaN / float_max : NaN
+NaN * zero_min : NaN
+NaN * zero_plus : NaN
+NaN * zero : NaN
+NaN * NaN : NaN
+NaN * Inf_plus : NaN
+NaN * Inf_min : NaN
+NaN * Inf : NaN
+NaN * long_max : NaN
+NaN * long_min : NaN
+NaN * int_max : NaN
+NaN * int_min : NaN
+NaN * uint_max : NaN
+NaN * ulong_max : NaN
+NaN * double_min : NaN
+NaN * double_max : NaN
+NaN * float_min : NaN
+NaN * float_max : NaN
+NaN + zero_min : NaN
+NaN + zero_plus : NaN
+NaN + zero : NaN
+NaN + NaN : NaN
+NaN + Inf_plus : NaN
+NaN + Inf_min : NaN
+NaN + Inf : NaN
+NaN + long_max : NaN
+NaN + long_min : NaN
+NaN + int_max : NaN
+NaN + int_min : NaN
+NaN + uint_max : NaN
+NaN + ulong_max : NaN
+NaN + double_min : NaN
+NaN + double_max : NaN
+NaN + float_min : NaN
+NaN + float_max : NaN
+NaN - zero_min : NaN
+NaN - zero_plus : NaN
+NaN - zero : NaN
+NaN - NaN : NaN
+NaN - Inf_plus : NaN
+NaN - Inf_min : NaN
+NaN - Inf : NaN
+NaN - long_max : NaN
+NaN - long_min : NaN
+NaN - int_max : NaN
+NaN - int_min : NaN
+NaN - uint_max : NaN
+NaN - ulong_max : NaN
+NaN - double_min : NaN
+NaN - double_max : NaN
+NaN - float_min : NaN
+NaN - float_max : NaN
+NaN > zero_min : 0x0
+NaN > zero_plus : 0x0
+NaN > zero : 0x0
+NaN > NaN : 0x0
+NaN > Inf_plus : 0x0
+NaN > Inf_min : 0x0
+NaN > Inf : 0x0
+NaN > long_max : 0x0
+NaN > long_min : 0x0
+NaN > int_max : 0x0
+NaN > int_min : 0x0
+NaN > uint_max : 0x0
+NaN > ulong_max : 0x0
+NaN > double_min : 0x0
+NaN > double_max : 0x0
+NaN > float_min : 0x0
+NaN > float_max : 0x0
+NaN < zero_min : 0x0
+NaN < zero_plus : 0x0
+NaN < zero : 0x0
+NaN < NaN : 0x0
+NaN < Inf_plus : 0x0
+NaN < Inf_min : 0x0
+NaN < Inf : 0x0
+NaN < long_max : 0x0
+NaN < long_min : 0x0
+NaN < int_max : 0x0
+NaN < int_min : 0x0
+NaN < uint_max : 0x0
+NaN < ulong_max : 0x0
+NaN < double_min : 0x0
+NaN < double_max : 0x0
+NaN < float_min : 0x0
+NaN < float_max : 0x0
+NaN >= zero_min : 0x0
+NaN >= zero_plus : 0x0
+NaN >= zero : 0x0
+NaN >= NaN : 0x0
+NaN >= Inf_plus : 0x0
+NaN >= Inf_min : 0x0
+NaN >= Inf : 0x0
+NaN >= long_max : 0x0
+NaN >= long_min : 0x0
+NaN >= int_max : 0x0
+NaN >= int_min : 0x0
+NaN >= uint_max : 0x0
+NaN >= ulong_max : 0x0
+NaN >= double_min : 0x0
+NaN >= double_max : 0x0
+NaN >= float_min : 0x0
+NaN >= float_max : 0x0
+NaN <= zero_min : 0x0
+NaN <= zero_plus : 0x0
+NaN <= zero : 0x0
+NaN <= NaN : 0x0
+NaN <= Inf_plus : 0x0
+NaN <= Inf_min : 0x0
+NaN <= Inf : 0x0
+NaN <= long_max : 0x0
+NaN <= long_min : 0x0
+NaN <= int_max : 0x0
+NaN <= int_min : 0x0
+NaN <= uint_max : 0x0
+NaN <= ulong_max : 0x0
+NaN <= double_min : 0x0
+NaN <= double_max : 0x0
+NaN <= float_min : 0x0
+NaN <= float_max : 0x0
+NaN == zero_min : 0x0
+NaN == zero_plus : 0x0
+NaN == zero : 0x0
+NaN == NaN : 0x0
+NaN == Inf_plus : 0x0
+NaN == Inf_min : 0x0
+NaN == Inf : 0x0
+NaN == long_max : 0x0
+NaN == long_min : 0x0
+NaN == int_max : 0x0
+NaN == int_min : 0x0
+NaN == uint_max : 0x0
+NaN == ulong_max : 0x0
+NaN == double_min : 0x0
+NaN == double_max : 0x0
+NaN == float_min : 0x0
+NaN == float_max : 0x0
+NaN != zero_min : 0x1
+NaN != zero_plus : 0x1
+NaN != zero : 0x1
+NaN != NaN : 0x1
+NaN != Inf_plus : 0x1
+NaN != Inf_min : 0x1
+NaN != Inf : 0x1
+NaN != long_max : 0x1
+NaN != long_min : 0x1
+NaN != int_max : 0x1
+NaN != int_min : 0x1
+NaN != uint_max : 0x1
+NaN != ulong_max : 0x1
+NaN != double_min : 0x1
+NaN != double_max : 0x1
+NaN != float_min : 0x1
+NaN != float_max : 0x1
+NaN * NaN * zero_min : NaN
+NaN * NaN * zero_plus : NaN
+NaN * NaN * zero : NaN
+NaN * NaN * NaN : NaN
+NaN * NaN * Inf_plus : NaN
+NaN * NaN * Inf_min : NaN
+NaN * NaN * Inf : NaN
+NaN * NaN * long_max : NaN
+NaN * NaN * long_min : NaN
+NaN * NaN * int_max : NaN
+NaN * NaN * int_min : NaN
+NaN * NaN * uint_max : NaN
+NaN * NaN * ulong_max : NaN
+NaN * NaN * double_min : NaN
+NaN * NaN * double_max : NaN
+NaN * NaN * float_min : NaN
+NaN * NaN * float_max : NaN
+Inf_plus / zero_min : -Inf
+Inf_plus / zero_plus : Inf
+Inf_plus / zero : Inf
+Inf_plus / NaN : NaN
+Inf_plus / Inf_plus : NaN
+Inf_plus / Inf_min : NaN
+Inf_plus / Inf : NaN
+Inf_plus / long_max : Inf
+Inf_plus / long_min : -Inf
+Inf_plus / int_max : Inf
+Inf_plus / int_min : -Inf
+Inf_plus / uint_max : Inf
+Inf_plus / ulong_max : Inf
+Inf_plus / double_min : Inf
+Inf_plus / double_max : Inf
+Inf_plus / float_min : Inf
+Inf_plus / float_max : Inf
+Inf_plus * zero_min : NaN
+Inf_plus * zero_plus : NaN
+Inf_plus * zero : NaN
+Inf_plus * NaN : NaN
+Inf_plus * Inf_plus : Inf
+Inf_plus * Inf_min : -Inf
+Inf_plus * Inf : Inf
+Inf_plus * long_max : Inf
+Inf_plus * long_min : -Inf
+Inf_plus * int_max : Inf
+Inf_plus * int_min : -Inf
+Inf_plus * uint_max : Inf
+Inf_plus * ulong_max : Inf
+Inf_plus * double_min : Inf
+Inf_plus * double_max : Inf
+Inf_plus * float_min : Inf
+Inf_plus * float_max : Inf
+Inf_plus + zero_min : Inf
+Inf_plus + zero_plus : Inf
+Inf_plus + zero : Inf
+Inf_plus + NaN : NaN
+Inf_plus + Inf_plus : Inf
+Inf_plus + Inf_min : NaN
+Inf_plus + Inf : Inf
+Inf_plus + long_max : Inf
+Inf_plus + long_min : Inf
+Inf_plus + int_max : Inf
+Inf_plus + int_min : Inf
+Inf_plus + uint_max : Inf
+Inf_plus + ulong_max : Inf
+Inf_plus + double_min : Inf
+Inf_plus + double_max : Inf
+Inf_plus + float_min : Inf
+Inf_plus + float_max : Inf
+Inf_plus - zero_min : Inf
+Inf_plus - zero_plus : Inf
+Inf_plus - zero : Inf
+Inf_plus - NaN : NaN
+Inf_plus - Inf_plus : NaN
+Inf_plus - Inf_min : Inf
+Inf_plus - Inf : NaN
+Inf_plus - long_max : Inf
+Inf_plus - long_min : Inf
+Inf_plus - int_max : Inf
+Inf_plus - int_min : Inf
+Inf_plus - uint_max : Inf
+Inf_plus - ulong_max : Inf
+Inf_plus - double_min : Inf
+Inf_plus - double_max : Inf
+Inf_plus - float_min : Inf
+Inf_plus - float_max : Inf
+Inf_plus > zero_min : 0x1
+Inf_plus > zero_plus : 0x1
+Inf_plus > zero : 0x1
+Inf_plus > NaN : 0x0
+Inf_plus > Inf_plus : 0x0
+Inf_plus > Inf_min : 0x1
+Inf_plus > Inf : 0x0
+Inf_plus > long_max : 0x1
+Inf_plus > long_min : 0x1
+Inf_plus > int_max : 0x1
+Inf_plus > int_min : 0x1
+Inf_plus > uint_max : 0x1
+Inf_plus > ulong_max : 0x1
+Inf_plus > double_min : 0x1
+Inf_plus > double_max : 0x1
+Inf_plus > float_min : 0x1
+Inf_plus > float_max : 0x1
+Inf_plus < zero_min : 0x0
+Inf_plus < zero_plus : 0x0
+Inf_plus < zero : 0x0
+Inf_plus < NaN : 0x0
+Inf_plus < Inf_plus : 0x0
+Inf_plus < Inf_min : 0x0
+Inf_plus < Inf : 0x0
+Inf_plus < long_max : 0x0
+Inf_plus < long_min : 0x0
+Inf_plus < int_max : 0x0
+Inf_plus < int_min : 0x0
+Inf_plus < uint_max : 0x0
+Inf_plus < ulong_max : 0x0
+Inf_plus < double_min : 0x0
+Inf_plus < double_max : 0x0
+Inf_plus < float_min : 0x0
+Inf_plus < float_max : 0x0
+Inf_plus >= zero_min : 0x1
+Inf_plus >= zero_plus : 0x1
+Inf_plus >= zero : 0x1
+Inf_plus >= NaN : 0x0
+Inf_plus >= Inf_plus : 0x1
+Inf_plus >= Inf_min : 0x1
+Inf_plus >= Inf : 0x1
+Inf_plus >= long_max : 0x1
+Inf_plus >= long_min : 0x1
+Inf_plus >= int_max : 0x1
+Inf_plus >= int_min : 0x1
+Inf_plus >= uint_max : 0x1
+Inf_plus >= ulong_max : 0x1
+Inf_plus >= double_min : 0x1
+Inf_plus >= double_max : 0x1
+Inf_plus >= float_min : 0x1
+Inf_plus >= float_max : 0x1
+Inf_plus <= zero_min : 0x0
+Inf_plus <= zero_plus : 0x0
+Inf_plus <= zero : 0x0
+Inf_plus <= NaN : 0x0
+Inf_plus <= Inf_plus : 0x1
+Inf_plus <= Inf_min : 0x0
+Inf_plus <= Inf : 0x1
+Inf_plus <= long_max : 0x0
+Inf_plus <= long_min : 0x0
+Inf_plus <= int_max : 0x0
+Inf_plus <= int_min : 0x0
+Inf_plus <= uint_max : 0x0
+Inf_plus <= ulong_max : 0x0
+Inf_plus <= double_min : 0x0
+Inf_plus <= double_max : 0x0
+Inf_plus <= float_min : 0x0
+Inf_plus <= float_max : 0x0
+Inf_plus == zero_min : 0x0
+Inf_plus == zero_plus : 0x0
+Inf_plus == zero : 0x0
+Inf_plus == NaN : 0x0
+Inf_plus == Inf_plus : 0x1
+Inf_plus == Inf_min : 0x0
+Inf_plus == Inf : 0x1
+Inf_plus == long_max : 0x0
+Inf_plus == long_min : 0x0
+Inf_plus == int_max : 0x0
+Inf_plus == int_min : 0x0
+Inf_plus == uint_max : 0x0
+Inf_plus == ulong_max : 0x0
+Inf_plus == double_min : 0x0
+Inf_plus == double_max : 0x0
+Inf_plus == float_min : 0x0
+Inf_plus == float_max : 0x0
+Inf_plus != zero_min : 0x1
+Inf_plus != zero_plus : 0x1
+Inf_plus != zero : 0x1
+Inf_plus != NaN : 0x1
+Inf_plus != Inf_plus : 0x0
+Inf_plus != Inf_min : 0x1
+Inf_plus != Inf : 0x0
+Inf_plus != long_max : 0x1
+Inf_plus != long_min : 0x1
+Inf_plus != int_max : 0x1
+Inf_plus != int_min : 0x1
+Inf_plus != uint_max : 0x1
+Inf_plus != ulong_max : 0x1
+Inf_plus != double_min : 0x1
+Inf_plus != double_max : 0x1
+Inf_plus != float_min : 0x1
+Inf_plus != float_max : 0x1
+Inf_plus * Inf_plus * zero_min : NaN
+Inf_plus * Inf_plus * zero_plus : NaN
+Inf_plus * Inf_plus * zero : NaN
+Inf_plus * Inf_plus * NaN : NaN
+Inf_plus * Inf_plus * Inf_plus : Inf
+Inf_plus * Inf_plus * Inf_min : -Inf
+Inf_plus * Inf_plus * Inf : Inf
+Inf_plus * Inf_plus * long_max : Inf
+Inf_plus * Inf_plus * long_min : -Inf
+Inf_plus * Inf_plus * int_max : Inf
+Inf_plus * Inf_plus * int_min : -Inf
+Inf_plus * Inf_plus * uint_max : Inf
+Inf_plus * Inf_plus * ulong_max : Inf
+Inf_plus * Inf_plus * double_min : Inf
+Inf_plus * Inf_plus * double_max : Inf
+Inf_plus * Inf_plus * float_min : Inf
+Inf_plus * Inf_plus * float_max : Inf
+Inf_min / zero_min : Inf
+Inf_min / zero_plus : -Inf
+Inf_min / zero : -Inf
+Inf_min / NaN : NaN
+Inf_min / Inf_plus : NaN
+Inf_min / Inf_min : NaN
+Inf_min / Inf : NaN
+Inf_min / long_max : -Inf
+Inf_min / long_min : Inf
+Inf_min / int_max : -Inf
+Inf_min / int_min : Inf
+Inf_min / uint_max : -Inf
+Inf_min / ulong_max : -Inf
+Inf_min / double_min : -Inf
+Inf_min / double_max : -Inf
+Inf_min / float_min : -Inf
+Inf_min / float_max : -Inf
+Inf_min * zero_min : NaN
+Inf_min * zero_plus : NaN
+Inf_min * zero : NaN
+Inf_min * NaN : NaN
+Inf_min * Inf_plus : -Inf
+Inf_min * Inf_min : Inf
+Inf_min * Inf : -Inf
+Inf_min * long_max : -Inf
+Inf_min * long_min : Inf
+Inf_min * int_max : -Inf
+Inf_min * int_min : Inf
+Inf_min * uint_max : -Inf
+Inf_min * ulong_max : -Inf
+Inf_min * double_min : -Inf
+Inf_min * double_max : -Inf
+Inf_min * float_min : -Inf
+Inf_min * float_max : -Inf
+Inf_min + zero_min : -Inf
+Inf_min + zero_plus : -Inf
+Inf_min + zero : -Inf
+Inf_min + NaN : NaN
+Inf_min + Inf_plus : NaN
+Inf_min + Inf_min : -Inf
+Inf_min + Inf : NaN
+Inf_min + long_max : -Inf
+Inf_min + long_min : -Inf
+Inf_min + int_max : -Inf
+Inf_min + int_min : -Inf
+Inf_min + uint_max : -Inf
+Inf_min + ulong_max : -Inf
+Inf_min + double_min : -Inf
+Inf_min + double_max : -Inf
+Inf_min + float_min : -Inf
+Inf_min + float_max : -Inf
+Inf_min - zero_min : -Inf
+Inf_min - zero_plus : -Inf
+Inf_min - zero : -Inf
+Inf_min - NaN : NaN
+Inf_min - Inf_plus : -Inf
+Inf_min - Inf_min : NaN
+Inf_min - Inf : -Inf
+Inf_min - long_max : -Inf
+Inf_min - long_min : -Inf
+Inf_min - int_max : -Inf
+Inf_min - int_min : -Inf
+Inf_min - uint_max : -Inf
+Inf_min - ulong_max : -Inf
+Inf_min - double_min : -Inf
+Inf_min - double_max : -Inf
+Inf_min - float_min : -Inf
+Inf_min - float_max : -Inf
+Inf_min > zero_min : 0x0
+Inf_min > zero_plus : 0x0
+Inf_min > zero : 0x0
+Inf_min > NaN : 0x0
+Inf_min > Inf_plus : 0x0
+Inf_min > Inf_min : 0x0
+Inf_min > Inf : 0x0
+Inf_min > long_max : 0x0
+Inf_min > long_min : 0x0
+Inf_min > int_max : 0x0
+Inf_min > int_min : 0x0
+Inf_min > uint_max : 0x0
+Inf_min > ulong_max : 0x0
+Inf_min > double_min : 0x0
+Inf_min > double_max : 0x0
+Inf_min > float_min : 0x0
+Inf_min > float_max : 0x0
+Inf_min < zero_min : 0x1
+Inf_min < zero_plus : 0x1
+Inf_min < zero : 0x1
+Inf_min < NaN : 0x0
+Inf_min < Inf_plus : 0x1
+Inf_min < Inf_min : 0x0
+Inf_min < Inf : 0x1
+Inf_min < long_max : 0x1
+Inf_min < long_min : 0x1
+Inf_min < int_max : 0x1
+Inf_min < int_min : 0x1
+Inf_min < uint_max : 0x1
+Inf_min < ulong_max : 0x1
+Inf_min < double_min : 0x1
+Inf_min < double_max : 0x1
+Inf_min < float_min : 0x1
+Inf_min < float_max : 0x1
+Inf_min >= zero_min : 0x0
+Inf_min >= zero_plus : 0x0
+Inf_min >= zero : 0x0
+Inf_min >= NaN : 0x0
+Inf_min >= Inf_plus : 0x0
+Inf_min >= Inf_min : 0x1
+Inf_min >= Inf : 0x0
+Inf_min >= long_max : 0x0
+Inf_min >= long_min : 0x0
+Inf_min >= int_max : 0x0
+Inf_min >= int_min : 0x0
+Inf_min >= uint_max : 0x0
+Inf_min >= ulong_max : 0x0
+Inf_min >= double_min : 0x0
+Inf_min >= double_max : 0x0
+Inf_min >= float_min : 0x0
+Inf_min >= float_max : 0x0
+Inf_min <= zero_min : 0x1
+Inf_min <= zero_plus : 0x1
+Inf_min <= zero : 0x1
+Inf_min <= NaN : 0x0
+Inf_min <= Inf_plus : 0x1
+Inf_min <= Inf_min : 0x1
+Inf_min <= Inf : 0x1
+Inf_min <= long_max : 0x1
+Inf_min <= long_min : 0x1
+Inf_min <= int_max : 0x1
+Inf_min <= int_min : 0x1
+Inf_min <= uint_max : 0x1
+Inf_min <= ulong_max : 0x1
+Inf_min <= double_min : 0x1
+Inf_min <= double_max : 0x1
+Inf_min <= float_min : 0x1
+Inf_min <= float_max : 0x1
+Inf_min == zero_min : 0x0
+Inf_min == zero_plus : 0x0
+Inf_min == zero : 0x0
+Inf_min == NaN : 0x0
+Inf_min == Inf_plus : 0x0
+Inf_min == Inf_min : 0x1
+Inf_min == Inf : 0x0
+Inf_min == long_max : 0x0
+Inf_min == long_min : 0x0
+Inf_min == int_max : 0x0
+Inf_min == int_min : 0x0
+Inf_min == uint_max : 0x0
+Inf_min == ulong_max : 0x0
+Inf_min == double_min : 0x0
+Inf_min == double_max : 0x0
+Inf_min == float_min : 0x0
+Inf_min == float_max : 0x0
+Inf_min != zero_min : 0x1
+Inf_min != zero_plus : 0x1
+Inf_min != zero : 0x1
+Inf_min != NaN : 0x1
+Inf_min != Inf_plus : 0x1
+Inf_min != Inf_min : 0x0
+Inf_min != Inf : 0x1
+Inf_min != long_max : 0x1
+Inf_min != long_min : 0x1
+Inf_min != int_max : 0x1
+Inf_min != int_min : 0x1
+Inf_min != uint_max : 0x1
+Inf_min != ulong_max : 0x1
+Inf_min != double_min : 0x1
+Inf_min != double_max : 0x1
+Inf_min != float_min : 0x1
+Inf_min != float_max : 0x1
+Inf_min * Inf_min * zero_min : NaN
+Inf_min * Inf_min * zero_plus : NaN
+Inf_min * Inf_min * zero : NaN
+Inf_min * Inf_min * NaN : NaN
+Inf_min * Inf_min * Inf_plus : Inf
+Inf_min * Inf_min * Inf_min : -Inf
+Inf_min * Inf_min * Inf : Inf
+Inf_min * Inf_min * long_max : Inf
+Inf_min * Inf_min * long_min : -Inf
+Inf_min * Inf_min * int_max : Inf
+Inf_min * Inf_min * int_min : -Inf
+Inf_min * Inf_min * uint_max : Inf
+Inf_min * Inf_min * ulong_max : Inf
+Inf_min * Inf_min * double_min : Inf
+Inf_min * Inf_min * double_max : Inf
+Inf_min * Inf_min * float_min : Inf
+Inf_min * Inf_min * float_max : Inf
+Inf / zero_min : -Inf
+Inf / zero_plus : Inf
+Inf / zero : Inf
+Inf / NaN : NaN
+Inf / Inf_plus : NaN
+Inf / Inf_min : NaN
+Inf / Inf : NaN
+Inf / long_max : Inf
+Inf / long_min : -Inf
+Inf / int_max : Inf
+Inf / int_min : -Inf
+Inf / uint_max : Inf
+Inf / ulong_max : Inf
+Inf / double_min : Inf
+Inf / double_max : Inf
+Inf / float_min : Inf
+Inf / float_max : Inf
+Inf * zero_min : NaN
+Inf * zero_plus : NaN
+Inf * zero : NaN
+Inf * NaN : NaN
+Inf * Inf_plus : Inf
+Inf * Inf_min : -Inf
+Inf * Inf : Inf
+Inf * long_max : Inf
+Inf * long_min : -Inf
+Inf * int_max : Inf
+Inf * int_min : -Inf
+Inf * uint_max : Inf
+Inf * ulong_max : Inf
+Inf * double_min : Inf
+Inf * double_max : Inf
+Inf * float_min : Inf
+Inf * float_max : Inf
+Inf + zero_min : Inf
+Inf + zero_plus : Inf
+Inf + zero : Inf
+Inf + NaN : NaN
+Inf + Inf_plus : Inf
+Inf + Inf_min : NaN
+Inf + Inf : Inf
+Inf + long_max : Inf
+Inf + long_min : Inf
+Inf + int_max : Inf
+Inf + int_min : Inf
+Inf + uint_max : Inf
+Inf + ulong_max : Inf
+Inf + double_min : Inf
+Inf + double_max : Inf
+Inf + float_min : Inf
+Inf + float_max : Inf
+Inf - zero_min : Inf
+Inf - zero_plus : Inf
+Inf - zero : Inf
+Inf - NaN : NaN
+Inf - Inf_plus : NaN
+Inf - Inf_min : Inf
+Inf - Inf : NaN
+Inf - long_max : Inf
+Inf - long_min : Inf
+Inf - int_max : Inf
+Inf - int_min : Inf
+Inf - uint_max : Inf
+Inf - ulong_max : Inf
+Inf - double_min : Inf
+Inf - double_max : Inf
+Inf - float_min : Inf
+Inf - float_max : Inf
+Inf > zero_min : 0x1
+Inf > zero_plus : 0x1
+Inf > zero : 0x1
+Inf > NaN : 0x0
+Inf > Inf_plus : 0x0
+Inf > Inf_min : 0x1
+Inf > Inf : 0x0
+Inf > long_max : 0x1
+Inf > long_min : 0x1
+Inf > int_max : 0x1
+Inf > int_min : 0x1
+Inf > uint_max : 0x1
+Inf > ulong_max : 0x1
+Inf > double_min : 0x1
+Inf > double_max : 0x1
+Inf > float_min : 0x1
+Inf > float_max : 0x1
+Inf < zero_min : 0x0
+Inf < zero_plus : 0x0
+Inf < zero : 0x0
+Inf < NaN : 0x0
+Inf < Inf_plus : 0x0
+Inf < Inf_min : 0x0
+Inf < Inf : 0x0
+Inf < long_max : 0x0
+Inf < long_min : 0x0
+Inf < int_max : 0x0
+Inf < int_min : 0x0
+Inf < uint_max : 0x0
+Inf < ulong_max : 0x0
+Inf < double_min : 0x0
+Inf < double_max : 0x0
+Inf < float_min : 0x0
+Inf < float_max : 0x0
+Inf >= zero_min : 0x1
+Inf >= zero_plus : 0x1
+Inf >= zero : 0x1
+Inf >= NaN : 0x0
+Inf >= Inf_plus : 0x1
+Inf >= Inf_min : 0x1
+Inf >= Inf : 0x1
+Inf >= long_max : 0x1
+Inf >= long_min : 0x1
+Inf >= int_max : 0x1
+Inf >= int_min : 0x1
+Inf >= uint_max : 0x1
+Inf >= ulong_max : 0x1
+Inf >= double_min : 0x1
+Inf >= double_max : 0x1
+Inf >= float_min : 0x1
+Inf >= float_max : 0x1
+Inf <= zero_min : 0x0
+Inf <= zero_plus : 0x0
+Inf <= zero : 0x0
+Inf <= NaN : 0x0
+Inf <= Inf_plus : 0x1
+Inf <= Inf_min : 0x0
+Inf <= Inf : 0x1
+Inf <= long_max : 0x0
+Inf <= long_min : 0x0
+Inf <= int_max : 0x0
+Inf <= int_min : 0x0
+Inf <= uint_max : 0x0
+Inf <= ulong_max : 0x0
+Inf <= double_min : 0x0
+Inf <= double_max : 0x0
+Inf <= float_min : 0x0
+Inf <= float_max : 0x0
+Inf == zero_min : 0x0
+Inf == zero_plus : 0x0
+Inf == zero : 0x0
+Inf == NaN : 0x0
+Inf == Inf_plus : 0x1
+Inf == Inf_min : 0x0
+Inf == Inf : 0x1
+Inf == long_max : 0x0
+Inf == long_min : 0x0
+Inf == int_max : 0x0
+Inf == int_min : 0x0
+Inf == uint_max : 0x0
+Inf == ulong_max : 0x0
+Inf == double_min : 0x0
+Inf == double_max : 0x0
+Inf == float_min : 0x0
+Inf == float_max : 0x0
+Inf != zero_min : 0x1
+Inf != zero_plus : 0x1
+Inf != zero : 0x1
+Inf != NaN : 0x1
+Inf != Inf_plus : 0x0
+Inf != Inf_min : 0x1
+Inf != Inf : 0x0
+Inf != long_max : 0x1
+Inf != long_min : 0x1
+Inf != int_max : 0x1
+Inf != int_min : 0x1
+Inf != uint_max : 0x1
+Inf != ulong_max : 0x1
+Inf != double_min : 0x1
+Inf != double_max : 0x1
+Inf != float_min : 0x1
+Inf != float_max : 0x1
+Inf * Inf * zero_min : NaN
+Inf * Inf * zero_plus : NaN
+Inf * Inf * zero : NaN
+Inf * Inf * NaN : NaN
+Inf * Inf * Inf_plus : Inf
+Inf * Inf * Inf_min : -Inf
+Inf * Inf * Inf : Inf
+Inf * Inf * long_max : Inf
+Inf * Inf * long_min : -Inf
+Inf * Inf * int_max : Inf
+Inf * Inf * int_min : -Inf
+Inf * Inf * uint_max : Inf
+Inf * Inf * ulong_max : Inf
+Inf * Inf * double_min : Inf
+Inf * Inf * double_max : Inf
+Inf * Inf * float_min : Inf
+Inf * Inf * float_max : Inf
+****************** limits fx_float_long
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x08e+15
+long_min : 0x8e+15
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x1e+16
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+long_max / zero_min : -Inf
+long_max / zero_plus : Inf
+long_max / zero : Inf
+long_max / NaN : NaN
+long_max / Inf_plus : 0x0
+long_max / Inf_min : 0x0
+long_max / Inf : 0x0
+long_max / long_max : 0x1
+long_max / long_min : 0xf
+long_max / int_max : 0x100000002
+long_max / int_min : 0xfe+8
+long_max / uint_max : 0x080000000.8
+long_max / ulong_max : 0x0.8
+long_max / double_min : Inf
+long_max / double_max : 0x.080000000000008e-239
+long_max / float_min : 0x2e+47
+long_max / float_max : 0x.08000008000008e-15
+long_max * zero_min : 0x0
+long_max * zero_plus : 0x0
+long_max * zero : 0x0
+long_max * NaN : NaN
+long_max * Inf_plus : Inf
+long_max * Inf_min : -Inf
+long_max * Inf : Inf
+long_max * long_max : 0x4e+31
+long_max * long_min : 0xce+31
+long_max * int_max : 0x3fffffff8e+15
+long_max * int_min : 0xce+23
+long_max * uint_max : 0x7fffffff8e+15
+long_max * ulong_max : 0x08e+31
+long_max * double_min : 0x.2e-239
+long_max * double_max : Inf
+long_max * float_min : 0x.2e-15
+long_max * float_max : 0x7fffff8e+41
+long_max + zero_min : 0x08e+15
+long_max + zero_plus : 0x08e+15
+long_max + zero : 0x08e+15
+long_max + NaN : NaN
+long_max + Inf_plus : Inf
+long_max + Inf_min : -Inf
+long_max + Inf : Inf
+long_max + long_max : 0x1e+16
+long_max + long_min : 0x0
+long_max + int_max : 0x0800000008e+7
+long_max + int_min : 0x7fffffff8e+7
+long_max + uint_max : 0x080000001e+8
+long_max + ulong_max : 0x18e+15
+long_max + double_min : 0x08e+15
+long_max + double_max : 0x0fffffffffffff8e+242
+long_max + float_min : 0x08e+15
+long_max + float_max : 0x0ffffffe+26
+long_max - zero_min : 0x08e+15
+long_max - zero_plus : 0x08e+15
+long_max - zero : 0x08e+15
+long_max - NaN : NaN
+long_max - Inf_plus : -Inf
+long_max - Inf_min : Inf
+long_max - Inf : -Inf
+long_max - long_max : 0x0
+long_max - long_min : 0x1e+16
+long_max - int_max : 0x7fffffff8e+7
+long_max - int_min : 0x0800000008e+7
+long_max - uint_max : 0x7fffffffe+8
+long_max - ulong_max : 0x8e+15
+long_max - double_min : 0x08e+15
+long_max - double_max : 0xf00000000000008e+242
+long_max - float_min : 0x08e+15
+long_max - float_max : 0xf000001e+26
+long_max > zero_min : 0x1
+long_max > zero_plus : 0x1
+long_max > zero : 0x1
+long_max > NaN : 0x0
+long_max > Inf_plus : 0x0
+long_max > Inf_min : 0x1
+long_max > Inf : 0x0
+long_max > long_max : 0x0
+long_max > long_min : 0x1
+long_max > int_max : 0x1
+long_max > int_min : 0x1
+long_max > uint_max : 0x1
+long_max > ulong_max : 0x0
+long_max > double_min : 0x1
+long_max > double_max : 0x0
+long_max > float_min : 0x1
+long_max > float_max : 0x0
+long_max < zero_min : 0x0
+long_max < zero_plus : 0x0
+long_max < zero : 0x0
+long_max < NaN : 0x0
+long_max < Inf_plus : 0x1
+long_max < Inf_min : 0x0
+long_max < Inf : 0x1
+long_max < long_max : 0x0
+long_max < long_min : 0x0
+long_max < int_max : 0x0
+long_max < int_min : 0x0
+long_max < uint_max : 0x0
+long_max < ulong_max : 0x1
+long_max < double_min : 0x0
+long_max < double_max : 0x1
+long_max < float_min : 0x0
+long_max < float_max : 0x1
+long_max >= zero_min : 0x1
+long_max >= zero_plus : 0x1
+long_max >= zero : 0x1
+long_max >= NaN : 0x0
+long_max >= Inf_plus : 0x0
+long_max >= Inf_min : 0x1
+long_max >= Inf : 0x0
+long_max >= long_max : 0x1
+long_max >= long_min : 0x1
+long_max >= int_max : 0x1
+long_max >= int_min : 0x1
+long_max >= uint_max : 0x1
+long_max >= ulong_max : 0x0
+long_max >= double_min : 0x1
+long_max >= double_max : 0x0
+long_max >= float_min : 0x1
+long_max >= float_max : 0x0
+long_max <= zero_min : 0x0
+long_max <= zero_plus : 0x0
+long_max <= zero : 0x0
+long_max <= NaN : 0x0
+long_max <= Inf_plus : 0x1
+long_max <= Inf_min : 0x0
+long_max <= Inf : 0x1
+long_max <= long_max : 0x1
+long_max <= long_min : 0x0
+long_max <= int_max : 0x0
+long_max <= int_min : 0x0
+long_max <= uint_max : 0x0
+long_max <= ulong_max : 0x1
+long_max <= double_min : 0x0
+long_max <= double_max : 0x1
+long_max <= float_min : 0x0
+long_max <= float_max : 0x1
+long_max == zero_min : 0x0
+long_max == zero_plus : 0x0
+long_max == zero : 0x0
+long_max == NaN : 0x0
+long_max == Inf_plus : 0x0
+long_max == Inf_min : 0x0
+long_max == Inf : 0x0
+long_max == long_max : 0x1
+long_max == long_min : 0x0
+long_max == int_max : 0x0
+long_max == int_min : 0x0
+long_max == uint_max : 0x0
+long_max == ulong_max : 0x0
+long_max == double_min : 0x0
+long_max == double_max : 0x0
+long_max == float_min : 0x0
+long_max == float_max : 0x0
+long_max != zero_min : 0x1
+long_max != zero_plus : 0x1
+long_max != zero : 0x1
+long_max != NaN : 0x1
+long_max != Inf_plus : 0x1
+long_max != Inf_min : 0x1
+long_max != Inf : 0x1
+long_max != long_max : 0x0
+long_max != long_min : 0x1
+long_max != int_max : 0x1
+long_max != int_min : 0x1
+long_max != uint_max : 0x1
+long_max != ulong_max : 0x1
+long_max != double_min : 0x1
+long_max != double_max : 0x1
+long_max != float_min : 0x1
+long_max != float_max : 0x1
+long_max * long_max * zero_min : 0x0
+long_max * long_max * zero_plus : 0x0
+long_max * long_max * zero : 0x0
+long_max * long_max * NaN : NaN
+long_max * long_max * Inf_plus : Inf
+long_max * long_max * Inf_min : -Inf
+long_max * long_max * Inf : Inf
+long_max * long_max * long_max : 0x2e+47
+long_max * long_max * long_min : 0xee+47
+long_max * long_max * int_max : 0x1fffffffce+31
+long_max * long_max * int_min : 0xee+39
+long_max * long_max * uint_max : 0x3fffffffce+31
+long_max * long_max * ulong_max : 0x4e+47
+long_max * long_max * double_min : 0x.1e-223
+long_max * long_max * double_max : Inf
+long_max * long_max * float_min : 0x1
+long_max * long_max * float_max : 0x3fffffce+57
+long_min / zero_min : Inf
+long_min / zero_plus : -Inf
+long_min / zero : -Inf
+long_min / NaN : NaN
+long_min / Inf_plus : 0x0
+long_min / Inf_min : 0x0
+long_min / Inf : 0x0
+long_min / long_max : 0xf
+long_min / long_min : 0x1
+long_min / int_max : 0xefffffffe
+long_min / int_min : 0x1e+8
+long_min / uint_max : 0xf7fffffff.8
+long_min / ulong_max : 0x.8
+long_min / double_min : -Inf
+long_min / double_max : 0x.f7ffffffffffff8e-239
+long_min / float_min : 0xee+47
+long_min / float_max : 0x.f7fffff7fffff8e-15
+long_min * zero_min : 0x0
+long_min * zero_plus : 0x0
+long_min * zero : 0x0
+long_min * NaN : NaN
+long_min * Inf_plus : -Inf
+long_min * Inf_min : Inf
+long_min * Inf : -Inf
+long_min * long_max : 0xce+31
+long_min * long_min : 0x4e+31
+long_min * int_max : 0xc00000008e+15
+long_min * int_min : 0x4e+23
+long_min * uint_max : 0x800000008e+15
+long_min * ulong_max : 0x8e+31
+long_min * double_min : 0x.ee-239
+long_min * double_max : -Inf
+long_min * float_min : 0x.ee-15
+long_min * float_max : 0x8000008e+41
+long_min + zero_min : 0x8e+15
+long_min + zero_plus : 0x8e+15
+long_min + zero : 0x8e+15
+long_min + NaN : NaN
+long_min + Inf_plus : Inf
+long_min + Inf_min : -Inf
+long_min + Inf : Inf
+long_min + long_max : 0x0
+long_min + long_min : 0xfe+16
+long_min + int_max : 0x800000008e+7
+long_min + int_min : 0xf7fffffff8e+7
+long_min + uint_max : 0x80000001e+8
+long_min + ulong_max : 0x08e+15
+long_min + double_min : 0x8e+15
+long_min + double_max : 0x0fffffffffffff8e+242
+long_min + float_min : 0x8e+15
+long_min + float_max : 0x0ffffffe+26
+long_min - zero_min : 0x8e+15
+long_min - zero_plus : 0x8e+15
+long_min - zero : 0x8e+15
+long_min - NaN : NaN
+long_min - Inf_plus : -Inf
+long_min - Inf_min : Inf
+long_min - Inf : -Inf
+long_min - long_max : 0xfe+16
+long_min - long_min : 0x0
+long_min - int_max : 0xf7fffffff8e+7
+long_min - int_min : 0x800000008e+7
+long_min - uint_max : 0xf7fffffffe+8
+long_min - ulong_max : 0xe8e+15
+long_min - double_min : 0x8e+15
+long_min - double_max : 0xf00000000000008e+242
+long_min - float_min : 0x8e+15
+long_min - float_max : 0xf000001e+26
+long_min > zero_min : 0x0
+long_min > zero_plus : 0x0
+long_min > zero : 0x0
+long_min > NaN : 0x0
+long_min > Inf_plus : 0x0
+long_min > Inf_min : 0x1
+long_min > Inf : 0x0
+long_min > long_max : 0x0
+long_min > long_min : 0x0
+long_min > int_max : 0x0
+long_min > int_min : 0x0
+long_min > uint_max : 0x0
+long_min > ulong_max : 0x0
+long_min > double_min : 0x0
+long_min > double_max : 0x0
+long_min > float_min : 0x0
+long_min > float_max : 0x0
+long_min < zero_min : 0x1
+long_min < zero_plus : 0x1
+long_min < zero : 0x1
+long_min < NaN : 0x0
+long_min < Inf_plus : 0x1
+long_min < Inf_min : 0x0
+long_min < Inf : 0x1
+long_min < long_max : 0x1
+long_min < long_min : 0x0
+long_min < int_max : 0x1
+long_min < int_min : 0x1
+long_min < uint_max : 0x1
+long_min < ulong_max : 0x1
+long_min < double_min : 0x1
+long_min < double_max : 0x1
+long_min < float_min : 0x1
+long_min < float_max : 0x1
+long_min >= zero_min : 0x0
+long_min >= zero_plus : 0x0
+long_min >= zero : 0x0
+long_min >= NaN : 0x0
+long_min >= Inf_plus : 0x0
+long_min >= Inf_min : 0x1
+long_min >= Inf : 0x0
+long_min >= long_max : 0x0
+long_min >= long_min : 0x1
+long_min >= int_max : 0x0
+long_min >= int_min : 0x0
+long_min >= uint_max : 0x0
+long_min >= ulong_max : 0x0
+long_min >= double_min : 0x0
+long_min >= double_max : 0x0
+long_min >= float_min : 0x0
+long_min >= float_max : 0x0
+long_min <= zero_min : 0x1
+long_min <= zero_plus : 0x1
+long_min <= zero : 0x1
+long_min <= NaN : 0x0
+long_min <= Inf_plus : 0x1
+long_min <= Inf_min : 0x0
+long_min <= Inf : 0x1
+long_min <= long_max : 0x1
+long_min <= long_min : 0x1
+long_min <= int_max : 0x1
+long_min <= int_min : 0x1
+long_min <= uint_max : 0x1
+long_min <= ulong_max : 0x1
+long_min <= double_min : 0x1
+long_min <= double_max : 0x1
+long_min <= float_min : 0x1
+long_min <= float_max : 0x1
+long_min == zero_min : 0x0
+long_min == zero_plus : 0x0
+long_min == zero : 0x0
+long_min == NaN : 0x0
+long_min == Inf_plus : 0x0
+long_min == Inf_min : 0x0
+long_min == Inf : 0x0
+long_min == long_max : 0x0
+long_min == long_min : 0x1
+long_min == int_max : 0x0
+long_min == int_min : 0x0
+long_min == uint_max : 0x0
+long_min == ulong_max : 0x0
+long_min == double_min : 0x0
+long_min == double_max : 0x0
+long_min == float_min : 0x0
+long_min == float_max : 0x0
+long_min != zero_min : 0x1
+long_min != zero_plus : 0x1
+long_min != zero : 0x1
+long_min != NaN : 0x1
+long_min != Inf_plus : 0x1
+long_min != Inf_min : 0x1
+long_min != Inf : 0x1
+long_min != long_max : 0x1
+long_min != long_min : 0x0
+long_min != int_max : 0x1
+long_min != int_min : 0x1
+long_min != uint_max : 0x1
+long_min != ulong_max : 0x1
+long_min != double_min : 0x1
+long_min != double_max : 0x1
+long_min != float_min : 0x1
+long_min != float_max : 0x1
+long_min * long_min * zero_min : 0x0
+long_min * long_min * zero_plus : 0x0
+long_min * long_min * zero : 0x0
+long_min * long_min * NaN : NaN
+long_min * long_min * Inf_plus : Inf
+long_min * long_min * Inf_min : -Inf
+long_min * long_min * Inf : Inf
+long_min * long_min * long_max : 0x2e+47
+long_min * long_min * long_min : 0xee+47
+long_min * long_min * int_max : 0x1fffffffce+31
+long_min * long_min * int_min : 0xee+39
+long_min * long_min * uint_max : 0x3fffffffce+31
+long_min * long_min * ulong_max : 0x4e+47
+long_min * long_min * double_min : 0x.1e-223
+long_min * long_min * double_max : Inf
+long_min * long_min * float_min : 0x1
+long_min * long_min * float_max : 0x3fffffce+57
+int_max / zero_min : -Inf
+int_max / zero_plus : Inf
+int_max / zero : Inf
+int_max / NaN : NaN
+int_max / Inf_plus : 0x0
+int_max / Inf_min : 0x0
+int_max / Inf : 0x0
+int_max / long_max : 0x.0fffffffee-7
+int_max / long_min : 0x.f00000002e-7
+int_max / int_max : 0x1
+int_max / int_min : 0xf.00000002
+int_max / uint_max : 0x.7fffffff8
+int_max / ulong_max : 0x.7fffffffe-8
+int_max / double_min : Inf
+int_max / double_max : 0x.7fffffff000004e-248
+int_max / float_min : 0x1fffffffce+31
+int_max / float_max : 0x.08000007f00008e-23
+int_max * zero_min : 0x0
+int_max * zero_plus : 0x0
+int_max * zero : 0x0
+int_max * NaN : NaN
+int_max * Inf_plus : Inf
+int_max * Inf_min : -Inf
+int_max * Inf : Inf
+int_max * long_max : 0x3fffffff8e+15
+int_max * long_min : 0xc00000008e+15
+int_max * int_max : 0x3fffffffe+8
+int_max * int_min : 0xc00000008e+7
+int_max * uint_max : 0x7ffffffe8e+7
+int_max * ulong_max : 0x7fffffffe+16
+int_max * double_min : 0x.1fffffffce-247
+int_max * double_max : Inf
+int_max * float_min : 0x.1fffffffce-23
+int_max * float_max : 0x7fffff7fe+32
+int_max + zero_min : 0x7fffffff
+int_max + zero_plus : 0x7fffffff
+int_max + zero : 0x7fffffff
+int_max + NaN : NaN
+int_max + Inf_plus : Inf
+int_max + Inf_min : -Inf
+int_max + Inf : Inf
+int_max + long_max : 0x0800000008e+7
+int_max + long_min : 0x800000008e+7
+int_max + int_max : 0x0fffffffe
+int_max + int_min : 0xf
+int_max + uint_max : 0x17ffffffe
+int_max + ulong_max : 0x1000000008e+7
+int_max + double_min : 0x7fffffff
+int_max + double_max : 0x0fffffffffffff8e+242
+int_max + float_min : 0x7fffffff
+int_max + float_max : 0x0ffffffe+26
+int_max - zero_min : 0x7fffffff
+int_max - zero_plus : 0x7fffffff
+int_max - zero : 0x7fffffff
+int_max - NaN : NaN
+int_max - Inf_plus : -Inf
+int_max - Inf_min : Inf
+int_max - Inf : -Inf
+int_max - long_max : 0x800000008e+7
+int_max - long_min : 0x0800000008e+7
+int_max - int_max : 0x0
+int_max - int_min : 0x0ffffffff
+int_max - uint_max : 0x8e+7
+int_max - ulong_max : 0xf000000008e+7
+int_max - double_min : 0x7fffffff
+int_max - double_max : 0xf00000000000008e+242
+int_max - float_min : 0x7fffffff
+int_max - float_max : 0xf000001e+26
+int_max > zero_min : 0x1
+int_max > zero_plus : 0x1
+int_max > zero : 0x1
+int_max > NaN : 0x0
+int_max > Inf_plus : 0x0
+int_max > Inf_min : 0x1
+int_max > Inf : 0x0
+int_max > long_max : 0x0
+int_max > long_min : 0x1
+int_max > int_max : 0x0
+int_max > int_min : 0x1
+int_max > uint_max : 0x0
+int_max > ulong_max : 0x0
+int_max > double_min : 0x1
+int_max > double_max : 0x0
+int_max > float_min : 0x1
+int_max > float_max : 0x0
+int_max < zero_min : 0x0
+int_max < zero_plus : 0x0
+int_max < zero : 0x0
+int_max < NaN : 0x0
+int_max < Inf_plus : 0x1
+int_max < Inf_min : 0x0
+int_max < Inf : 0x1
+int_max < long_max : 0x1
+int_max < long_min : 0x0
+int_max < int_max : 0x0
+int_max < int_min : 0x0
+int_max < uint_max : 0x1
+int_max < ulong_max : 0x1
+int_max < double_min : 0x0
+int_max < double_max : 0x1
+int_max < float_min : 0x0
+int_max < float_max : 0x1
+int_max >= zero_min : 0x1
+int_max >= zero_plus : 0x1
+int_max >= zero : 0x1
+int_max >= NaN : 0x0
+int_max >= Inf_plus : 0x0
+int_max >= Inf_min : 0x1
+int_max >= Inf : 0x0
+int_max >= long_max : 0x0
+int_max >= long_min : 0x1
+int_max >= int_max : 0x1
+int_max >= int_min : 0x1
+int_max >= uint_max : 0x0
+int_max >= ulong_max : 0x0
+int_max >= double_min : 0x1
+int_max >= double_max : 0x0
+int_max >= float_min : 0x1
+int_max >= float_max : 0x0
+int_max <= zero_min : 0x0
+int_max <= zero_plus : 0x0
+int_max <= zero : 0x0
+int_max <= NaN : 0x0
+int_max <= Inf_plus : 0x1
+int_max <= Inf_min : 0x0
+int_max <= Inf : 0x1
+int_max <= long_max : 0x1
+int_max <= long_min : 0x0
+int_max <= int_max : 0x1
+int_max <= int_min : 0x0
+int_max <= uint_max : 0x1
+int_max <= ulong_max : 0x1
+int_max <= double_min : 0x0
+int_max <= double_max : 0x1
+int_max <= float_min : 0x0
+int_max <= float_max : 0x1
+int_max == zero_min : 0x0
+int_max == zero_plus : 0x0
+int_max == zero : 0x0
+int_max == NaN : 0x0
+int_max == Inf_plus : 0x0
+int_max == Inf_min : 0x0
+int_max == Inf : 0x0
+int_max == long_max : 0x0
+int_max == long_min : 0x0
+int_max == int_max : 0x1
+int_max == int_min : 0x0
+int_max == uint_max : 0x0
+int_max == ulong_max : 0x0
+int_max == double_min : 0x0
+int_max == double_max : 0x0
+int_max == float_min : 0x0
+int_max == float_max : 0x0
+int_max != zero_min : 0x1
+int_max != zero_plus : 0x1
+int_max != zero : 0x1
+int_max != NaN : 0x1
+int_max != Inf_plus : 0x1
+int_max != Inf_min : 0x1
+int_max != Inf : 0x1
+int_max != long_max : 0x1
+int_max != long_min : 0x1
+int_max != int_max : 0x0
+int_max != int_min : 0x1
+int_max != uint_max : 0x1
+int_max != ulong_max : 0x1
+int_max != double_min : 0x1
+int_max != double_max : 0x1
+int_max != float_min : 0x1
+int_max != float_max : 0x1
+int_max * int_max * zero_min : 0x0
+int_max * int_max * zero_plus : 0x0
+int_max * int_max * zero : 0x0
+int_max * int_max * NaN : NaN
+int_max * int_max * Inf_plus : Inf
+int_max * int_max * Inf_min : -Inf
+int_max * int_max * Inf : Inf
+int_max * int_max * long_max : 0x1fffffff8e+23
+int_max * int_max * long_min : 0xe00000008e+23
+int_max * int_max * int_max : 0x1fffffff4e+15
+int_max * int_max * int_min : 0xe00000008e+15
+int_max * int_max * uint_max : 0x3ffffffece+15
+int_max * int_max * ulong_max : 0x3fffffffe+24
+int_max * int_max * double_min : 0x.0fffffffce-239
+int_max * int_max * double_max : Inf
+int_max * int_max * float_min : 0x.0fffffffce-15
+int_max * int_max * float_max : 0x3fffffbfe+40
+int_min / zero_min : Inf
+int_min / zero_plus : -Inf
+int_min / zero : -Inf
+int_min / NaN : NaN
+int_min / Inf_plus : 0x0
+int_min / Inf_min : 0x0
+int_min / Inf : 0x0
+int_min / long_max : 0x.fe-7
+int_min / long_min : 0x.1e-7
+int_min / int_max : 0xe.fffffffe
+int_min / int_min : 0x1
+int_min / uint_max : 0xf.7fffffff8
+int_min / ulong_max : 0x.8e-8
+int_min / double_min : -Inf
+int_min / double_max : 0x.f7ffffffffffff8e-247
+int_min / float_min : 0xee+39
+int_min / float_max : 0x.f7fffff7fffff8e-23
+int_min * zero_min : 0x0
+int_min * zero_plus : 0x0
+int_min * zero : 0x0
+int_min * NaN : NaN
+int_min * Inf_plus : -Inf
+int_min * Inf_min : Inf
+int_min * Inf : -Inf
+int_min * long_max : 0xce+23
+int_min * long_min : 0x4e+23
+int_min * int_max : 0xc00000008e+7
+int_min * int_min : 0x4e+15
+int_min * uint_max : 0x800000008e+7
+int_min * ulong_max : 0x8e+23
+int_min * double_min : 0x.ee-247
+int_min * double_max : -Inf
+int_min * float_min : 0x.ee-23
+int_min * float_max : 0x8000008e+33
+int_min + zero_min : 0x8e+7
+int_min + zero_plus : 0x8e+7
+int_min + zero : 0x8e+7
+int_min + NaN : NaN
+int_min + Inf_plus : Inf
+int_min + Inf_min : -Inf
+int_min + Inf : Inf
+int_min + long_max : 0x7fffffff8e+7
+int_min + long_min : 0xf7fffffff8e+7
+int_min + int_max : 0xf
+int_min + int_min : 0xfe+8
+int_min + uint_max : 0x7fffffff
+int_min + ulong_max : 0x0ffffffff8e+7
+int_min + double_min : 0x8e+7
+int_min + double_max : 0x0fffffffffffff8e+242
+int_min + float_min : 0x8e+7
+int_min + float_max : 0x0ffffffe+26
+int_min - zero_min : 0x8e+7
+int_min - zero_plus : 0x8e+7
+int_min - zero : 0x8e+7
+int_min - NaN : NaN
+int_min - Inf_plus : -Inf
+int_min - Inf_min : Inf
+int_min - Inf : -Inf
+int_min - long_max : 0xf7fffffff8e+7
+int_min - long_min : 0x7fffffff8e+7
+int_min - int_max : 0xf00000001
+int_min - int_min : 0x0
+int_min - uint_max : 0xe80000001
+int_min - ulong_max : 0xeffffffff8e+7
+int_min - double_min : 0x8e+7
+int_min - double_max : 0xf00000000000008e+242
+int_min - float_min : 0x8e+7
+int_min - float_max : 0xf000001e+26
+int_min > zero_min : 0x0
+int_min > zero_plus : 0x0
+int_min > zero : 0x0
+int_min > NaN : 0x0
+int_min > Inf_plus : 0x0
+int_min > Inf_min : 0x1
+int_min > Inf : 0x0
+int_min > long_max : 0x0
+int_min > long_min : 0x1
+int_min > int_max : 0x0
+int_min > int_min : 0x0
+int_min > uint_max : 0x0
+int_min > ulong_max : 0x0
+int_min > double_min : 0x0
+int_min > double_max : 0x0
+int_min > float_min : 0x0
+int_min > float_max : 0x0
+int_min < zero_min : 0x1
+int_min < zero_plus : 0x1
+int_min < zero : 0x1
+int_min < NaN : 0x0
+int_min < Inf_plus : 0x1
+int_min < Inf_min : 0x0
+int_min < Inf : 0x1
+int_min < long_max : 0x1
+int_min < long_min : 0x0
+int_min < int_max : 0x1
+int_min < int_min : 0x0
+int_min < uint_max : 0x1
+int_min < ulong_max : 0x1
+int_min < double_min : 0x1
+int_min < double_max : 0x1
+int_min < float_min : 0x1
+int_min < float_max : 0x1
+int_min >= zero_min : 0x0
+int_min >= zero_plus : 0x0
+int_min >= zero : 0x0
+int_min >= NaN : 0x0
+int_min >= Inf_plus : 0x0
+int_min >= Inf_min : 0x1
+int_min >= Inf : 0x0
+int_min >= long_max : 0x0
+int_min >= long_min : 0x1
+int_min >= int_max : 0x0
+int_min >= int_min : 0x1
+int_min >= uint_max : 0x0
+int_min >= ulong_max : 0x0
+int_min >= double_min : 0x0
+int_min >= double_max : 0x0
+int_min >= float_min : 0x0
+int_min >= float_max : 0x0
+int_min <= zero_min : 0x1
+int_min <= zero_plus : 0x1
+int_min <= zero : 0x1
+int_min <= NaN : 0x0
+int_min <= Inf_plus : 0x1
+int_min <= Inf_min : 0x0
+int_min <= Inf : 0x1
+int_min <= long_max : 0x1
+int_min <= long_min : 0x0
+int_min <= int_max : 0x1
+int_min <= int_min : 0x1
+int_min <= uint_max : 0x1
+int_min <= ulong_max : 0x1
+int_min <= double_min : 0x1
+int_min <= double_max : 0x1
+int_min <= float_min : 0x1
+int_min <= float_max : 0x1
+int_min == zero_min : 0x0
+int_min == zero_plus : 0x0
+int_min == zero : 0x0
+int_min == NaN : 0x0
+int_min == Inf_plus : 0x0
+int_min == Inf_min : 0x0
+int_min == Inf : 0x0
+int_min == long_max : 0x0
+int_min == long_min : 0x0
+int_min == int_max : 0x0
+int_min == int_min : 0x1
+int_min == uint_max : 0x0
+int_min == ulong_max : 0x0
+int_min == double_min : 0x0
+int_min == double_max : 0x0
+int_min == float_min : 0x0
+int_min == float_max : 0x0
+int_min != zero_min : 0x1
+int_min != zero_plus : 0x1
+int_min != zero : 0x1
+int_min != NaN : 0x1
+int_min != Inf_plus : 0x1
+int_min != Inf_min : 0x1
+int_min != Inf : 0x1
+int_min != long_max : 0x1
+int_min != long_min : 0x1
+int_min != int_max : 0x1
+int_min != int_min : 0x0
+int_min != uint_max : 0x1
+int_min != ulong_max : 0x1
+int_min != double_min : 0x1
+int_min != double_max : 0x1
+int_min != float_min : 0x1
+int_min != float_max : 0x1
+int_min * int_min * zero_min : 0x0
+int_min * int_min * zero_plus : 0x0
+int_min * int_min * zero : 0x0
+int_min * int_min * NaN : NaN
+int_min * int_min * Inf_plus : Inf
+int_min * int_min * Inf_min : -Inf
+int_min * int_min * Inf : Inf
+int_min * int_min * long_max : 0x2e+31
+int_min * int_min * long_min : 0xee+31
+int_min * int_min * int_max : 0x1fffffffce+15
+int_min * int_min * int_min : 0xee+23
+int_min * int_min * uint_max : 0x3fffffffce+15
+int_min * int_min * ulong_max : 0x4e+31
+int_min * int_min * double_min : 0x.1e-239
+int_min * int_min * double_max : Inf
+int_min * int_min * float_min : 0x.1e-15
+int_min * int_min * float_max : 0x3fffffce+41
+uint_max / zero_min : -Inf
+uint_max / zero_plus : Inf
+uint_max / zero : Inf
+uint_max / NaN : NaN
+uint_max / Inf_plus : 0x0
+uint_max / Inf_min : 0x0
+uint_max / Inf : 0x0
+uint_max / long_max : 0x.1fffffffee-7
+uint_max / long_min : 0x.e00000002e-7
+uint_max / int_max : 0x2.00000002
+uint_max / int_min : 0xe.00000002
+uint_max / uint_max : 0x1
+uint_max / ulong_max : 0x.0ffffffffe-7
+uint_max / double_min : Inf
+uint_max / double_max : 0x.0ffffffff000008e-247
+uint_max / float_min : 0x3fffffffce+31
+uint_max / float_max : 0x.1000000ff0001e-23
+uint_max * zero_min : 0x0
+uint_max * zero_plus : 0x0
+uint_max * zero : 0x0
+uint_max * NaN : NaN
+uint_max * Inf_plus : Inf
+uint_max * Inf_min : -Inf
+uint_max * Inf : Inf
+uint_max * long_max : 0x7fffffff8e+15
+uint_max * long_min : 0x800000008e+15
+uint_max * int_max : 0x7ffffffe8e+7
+uint_max * int_min : 0x800000008e+7
+uint_max * uint_max : 0x0fffffffee+8
+uint_max * ulong_max : 0x0ffffffffe+16
+uint_max * double_min : 0x.3fffffffce-247
+uint_max * double_max : Inf
+uint_max * float_min : 0x.3fffffffce-23
+uint_max * float_max : 0x0fffffeffe+32
+uint_max + zero_min : 0x0ffffffff
+uint_max + zero_plus : 0x0ffffffff
+uint_max + zero : 0x0ffffffff
+uint_max + NaN : NaN
+uint_max + Inf_plus : Inf
+uint_max + Inf_min : -Inf
+uint_max + Inf : Inf
+uint_max + long_max : 0x080000001e+8
+uint_max + long_min : 0x80000001e+8
+uint_max + int_max : 0x17ffffffe
+uint_max + int_min : 0x7fffffff
+uint_max + uint_max : 0x1fffffffe
+uint_max + ulong_max : 0x100000001e+8
+uint_max + double_min : 0x0ffffffff
+uint_max + double_max : 0x0fffffffffffff8e+242
+uint_max + float_min : 0x0ffffffff
+uint_max + float_max : 0x0ffffffe+26
+uint_max - zero_min : 0x0ffffffff
+uint_max - zero_plus : 0x0ffffffff
+uint_max - zero : 0x0ffffffff
+uint_max - NaN : NaN
+uint_max - Inf_plus : -Inf
+uint_max - Inf_min : Inf
+uint_max - Inf : -Inf
+uint_max - long_max : 0x80000001e+8
+uint_max - long_min : 0x080000001e+8
+uint_max - int_max : 0x08e+7
+uint_max - int_min : 0x17fffffff
+uint_max - uint_max : 0x0
+uint_max - ulong_max : 0xf00000001e+8
+uint_max - double_min : 0x0ffffffff
+uint_max - double_max : 0xf00000000000008e+242
+uint_max - float_min : 0x0ffffffff
+uint_max - float_max : 0xf000001e+26
+uint_max > zero_min : 0x1
+uint_max > zero_plus : 0x1
+uint_max > zero : 0x1
+uint_max > NaN : 0x0
+uint_max > Inf_plus : 0x0
+uint_max > Inf_min : 0x1
+uint_max > Inf : 0x0
+uint_max > long_max : 0x0
+uint_max > long_min : 0x1
+uint_max > int_max : 0x1
+uint_max > int_min : 0x1
+uint_max > uint_max : 0x0
+uint_max > ulong_max : 0x0
+uint_max > double_min : 0x1
+uint_max > double_max : 0x0
+uint_max > float_min : 0x1
+uint_max > float_max : 0x0
+uint_max < zero_min : 0x0
+uint_max < zero_plus : 0x0
+uint_max < zero : 0x0
+uint_max < NaN : 0x0
+uint_max < Inf_plus : 0x1
+uint_max < Inf_min : 0x0
+uint_max < Inf : 0x1
+uint_max < long_max : 0x1
+uint_max < long_min : 0x0
+uint_max < int_max : 0x0
+uint_max < int_min : 0x0
+uint_max < uint_max : 0x0
+uint_max < ulong_max : 0x1
+uint_max < double_min : 0x0
+uint_max < double_max : 0x1
+uint_max < float_min : 0x0
+uint_max < float_max : 0x1
+uint_max >= zero_min : 0x1
+uint_max >= zero_plus : 0x1
+uint_max >= zero : 0x1
+uint_max >= NaN : 0x0
+uint_max >= Inf_plus : 0x0
+uint_max >= Inf_min : 0x1
+uint_max >= Inf : 0x0
+uint_max >= long_max : 0x0
+uint_max >= long_min : 0x1
+uint_max >= int_max : 0x1
+uint_max >= int_min : 0x1
+uint_max >= uint_max : 0x1
+uint_max >= ulong_max : 0x0
+uint_max >= double_min : 0x1
+uint_max >= double_max : 0x0
+uint_max >= float_min : 0x1
+uint_max >= float_max : 0x0
+uint_max <= zero_min : 0x0
+uint_max <= zero_plus : 0x0
+uint_max <= zero : 0x0
+uint_max <= NaN : 0x0
+uint_max <= Inf_plus : 0x1
+uint_max <= Inf_min : 0x0
+uint_max <= Inf : 0x1
+uint_max <= long_max : 0x1
+uint_max <= long_min : 0x0
+uint_max <= int_max : 0x0
+uint_max <= int_min : 0x0
+uint_max <= uint_max : 0x1
+uint_max <= ulong_max : 0x1
+uint_max <= double_min : 0x0
+uint_max <= double_max : 0x1
+uint_max <= float_min : 0x0
+uint_max <= float_max : 0x1
+uint_max == zero_min : 0x0
+uint_max == zero_plus : 0x0
+uint_max == zero : 0x0
+uint_max == NaN : 0x0
+uint_max == Inf_plus : 0x0
+uint_max == Inf_min : 0x0
+uint_max == Inf : 0x0
+uint_max == long_max : 0x0
+uint_max == long_min : 0x0
+uint_max == int_max : 0x0
+uint_max == int_min : 0x0
+uint_max == uint_max : 0x1
+uint_max == ulong_max : 0x0
+uint_max == double_min : 0x0
+uint_max == double_max : 0x0
+uint_max == float_min : 0x0
+uint_max == float_max : 0x0
+uint_max != zero_min : 0x1
+uint_max != zero_plus : 0x1
+uint_max != zero : 0x1
+uint_max != NaN : 0x1
+uint_max != Inf_plus : 0x1
+uint_max != Inf_min : 0x1
+uint_max != Inf : 0x1
+uint_max != long_max : 0x1
+uint_max != long_min : 0x1
+uint_max != int_max : 0x1
+uint_max != int_min : 0x1
+uint_max != uint_max : 0x0
+uint_max != ulong_max : 0x1
+uint_max != double_min : 0x1
+uint_max != double_max : 0x1
+uint_max != float_min : 0x1
+uint_max != float_max : 0x1
+uint_max * uint_max * zero_min : 0x0
+uint_max * uint_max * zero_plus : 0x0
+uint_max * uint_max * zero : 0x0
+uint_max * uint_max * NaN : NaN
+uint_max * uint_max * Inf_plus : Inf
+uint_max * uint_max * Inf_min : -Inf
+uint_max * uint_max * Inf : Inf
+uint_max * uint_max * long_max : 0x7fffffffe+24
+uint_max * uint_max * long_min : 0x80000001e+24
+uint_max * uint_max * int_max : 0x7ffffffee+16
+uint_max * uint_max * int_min : 0x80000001e+16
+uint_max * uint_max * uint_max : 0x0fffffffde+16
+uint_max * uint_max * ulong_max : 0x0fffffffee+24
+uint_max * uint_max * double_min : 0x.3fffffff8e-239
+uint_max * uint_max * double_max : Inf
+uint_max * uint_max * float_min : 0x.3fffffff8e-15
+uint_max * uint_max * float_max : 0x0fffffefee+40
+ulong_max / zero_min : -Inf
+ulong_max / zero_plus : Inf
+ulong_max / zero : Inf
+ulong_max / NaN : NaN
+ulong_max / Inf_plus : 0x0
+ulong_max / Inf_min : 0x0
+ulong_max / Inf : 0x0
+ulong_max / long_max : 0x2
+ulong_max / long_min : 0xe
+ulong_max / int_max : 0x200000004
+ulong_max / int_min : 0xee+8
+ulong_max / uint_max : 0x100000001
+ulong_max / ulong_max : 0x1
+ulong_max / double_min : Inf
+ulong_max / double_max : 0x.10000000000001e-239
+ulong_max / float_min : 0x4e+47
+ulong_max / float_max : 0x.1000001000001e-15
+ulong_max * zero_min : 0x0
+ulong_max * zero_plus : 0x0
+ulong_max * zero : 0x0
+ulong_max * NaN : NaN
+ulong_max * Inf_plus : Inf
+ulong_max * Inf_min : -Inf
+ulong_max * Inf : Inf
+ulong_max * long_max : 0x08e+31
+ulong_max * long_min : 0x8e+31
+ulong_max * int_max : 0x7fffffffe+16
+ulong_max * int_min : 0x8e+23
+ulong_max * uint_max : 0x0ffffffffe+16
+ulong_max * ulong_max : 0x1e+32
+ulong_max * double_min : 0x.4e-239
+ulong_max * double_max : Inf
+ulong_max * float_min : 0x.4e-15
+ulong_max * float_max : 0x0ffffffe+42
+ulong_max + zero_min : 0x1e+16
+ulong_max + zero_plus : 0x1e+16
+ulong_max + zero : 0x1e+16
+ulong_max + NaN : NaN
+ulong_max + Inf_plus : Inf
+ulong_max + Inf_min : -Inf
+ulong_max + Inf : Inf
+ulong_max + long_max : 0x18e+15
+ulong_max + long_min : 0x08e+15
+ulong_max + int_max : 0x1000000008e+7
+ulong_max + int_min : 0x0ffffffff8e+7
+ulong_max + uint_max : 0x100000001e+8
+ulong_max + ulong_max : 0x2e+16
+ulong_max + double_min : 0x1e+16
+ulong_max + double_max : 0x0fffffffffffff8e+242
+ulong_max + float_min : 0x1e+16
+ulong_max + float_max : 0x0ffffffe+26
+ulong_max - zero_min : 0x1e+16
+ulong_max - zero_plus : 0x1e+16
+ulong_max - zero : 0x1e+16
+ulong_max - NaN : NaN
+ulong_max - Inf_plus : -Inf
+ulong_max - Inf_min : Inf
+ulong_max - Inf : -Inf
+ulong_max - long_max : 0x08e+15
+ulong_max - long_min : 0x18e+15
+ulong_max - int_max : 0x0ffffffff8e+7
+ulong_max - int_min : 0x1000000008e+7
+ulong_max - uint_max : 0x0ffffffffe+8
+ulong_max - ulong_max : 0x0
+ulong_max - double_min : 0x1e+16
+ulong_max - double_max : 0xf00000000000008e+242
+ulong_max - float_min : 0x1e+16
+ulong_max - float_max : 0xf000001e+26
+ulong_max > zero_min : 0x1
+ulong_max > zero_plus : 0x1
+ulong_max > zero : 0x1
+ulong_max > NaN : 0x0
+ulong_max > Inf_plus : 0x0
+ulong_max > Inf_min : 0x1
+ulong_max > Inf : 0x0
+ulong_max > long_max : 0x1
+ulong_max > long_min : 0x1
+ulong_max > int_max : 0x1
+ulong_max > int_min : 0x1
+ulong_max > uint_max : 0x1
+ulong_max > ulong_max : 0x0
+ulong_max > double_min : 0x1
+ulong_max > double_max : 0x0
+ulong_max > float_min : 0x1
+ulong_max > float_max : 0x0
+ulong_max < zero_min : 0x0
+ulong_max < zero_plus : 0x0
+ulong_max < zero : 0x0
+ulong_max < NaN : 0x0
+ulong_max < Inf_plus : 0x1
+ulong_max < Inf_min : 0x0
+ulong_max < Inf : 0x1
+ulong_max < long_max : 0x0
+ulong_max < long_min : 0x0
+ulong_max < int_max : 0x0
+ulong_max < int_min : 0x0
+ulong_max < uint_max : 0x0
+ulong_max < ulong_max : 0x0
+ulong_max < double_min : 0x0
+ulong_max < double_max : 0x1
+ulong_max < float_min : 0x0
+ulong_max < float_max : 0x1
+ulong_max >= zero_min : 0x1
+ulong_max >= zero_plus : 0x1
+ulong_max >= zero : 0x1
+ulong_max >= NaN : 0x0
+ulong_max >= Inf_plus : 0x0
+ulong_max >= Inf_min : 0x1
+ulong_max >= Inf : 0x0
+ulong_max >= long_max : 0x1
+ulong_max >= long_min : 0x1
+ulong_max >= int_max : 0x1
+ulong_max >= int_min : 0x1
+ulong_max >= uint_max : 0x1
+ulong_max >= ulong_max : 0x1
+ulong_max >= double_min : 0x1
+ulong_max >= double_max : 0x0
+ulong_max >= float_min : 0x1
+ulong_max >= float_max : 0x0
+ulong_max <= zero_min : 0x0
+ulong_max <= zero_plus : 0x0
+ulong_max <= zero : 0x0
+ulong_max <= NaN : 0x0
+ulong_max <= Inf_plus : 0x1
+ulong_max <= Inf_min : 0x0
+ulong_max <= Inf : 0x1
+ulong_max <= long_max : 0x0
+ulong_max <= long_min : 0x0
+ulong_max <= int_max : 0x0
+ulong_max <= int_min : 0x0
+ulong_max <= uint_max : 0x0
+ulong_max <= ulong_max : 0x1
+ulong_max <= double_min : 0x0
+ulong_max <= double_max : 0x1
+ulong_max <= float_min : 0x0
+ulong_max <= float_max : 0x1
+ulong_max == zero_min : 0x0
+ulong_max == zero_plus : 0x0
+ulong_max == zero : 0x0
+ulong_max == NaN : 0x0
+ulong_max == Inf_plus : 0x0
+ulong_max == Inf_min : 0x0
+ulong_max == Inf : 0x0
+ulong_max == long_max : 0x0
+ulong_max == long_min : 0x0
+ulong_max == int_max : 0x0
+ulong_max == int_min : 0x0
+ulong_max == uint_max : 0x0
+ulong_max == ulong_max : 0x1
+ulong_max == double_min : 0x0
+ulong_max == double_max : 0x0
+ulong_max == float_min : 0x0
+ulong_max == float_max : 0x0
+ulong_max != zero_min : 0x1
+ulong_max != zero_plus : 0x1
+ulong_max != zero : 0x1
+ulong_max != NaN : 0x1
+ulong_max != Inf_plus : 0x1
+ulong_max != Inf_min : 0x1
+ulong_max != Inf : 0x1
+ulong_max != long_max : 0x1
+ulong_max != long_min : 0x1
+ulong_max != int_max : 0x1
+ulong_max != int_min : 0x1
+ulong_max != uint_max : 0x1
+ulong_max != ulong_max : 0x0
+ulong_max != double_min : 0x1
+ulong_max != double_max : 0x1
+ulong_max != float_min : 0x1
+ulong_max != float_max : 0x1
+ulong_max * ulong_max * zero_min : 0x0
+ulong_max * ulong_max * zero_plus : 0x0
+ulong_max * ulong_max * zero : 0x0
+ulong_max * ulong_max * NaN : NaN
+ulong_max * ulong_max * Inf_plus : Inf
+ulong_max * ulong_max * Inf_min : -Inf
+ulong_max * ulong_max * Inf : Inf
+ulong_max * ulong_max * long_max : 0x08e+47
+ulong_max * ulong_max * long_min : 0x8e+47
+ulong_max * ulong_max * int_max : 0x7fffffffe+32
+ulong_max * ulong_max * int_min : 0x8e+39
+ulong_max * ulong_max * uint_max : 0x0ffffffffe+32
+ulong_max * ulong_max * ulong_max : 0x1e+48
+ulong_max * ulong_max * double_min : 0x.4e-223
+ulong_max * ulong_max * double_max : Inf
+ulong_max * ulong_max * float_min : 0x4
+ulong_max * ulong_max * float_max : 0x0ffffffe+58
+****************** limits fx_float_double
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x08e+15
+long_min : 0x8e+15
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x1e+16
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+double_min / zero_min : -Inf
+double_min / zero_plus : Inf
+double_min / zero : Inf
+double_min / NaN : NaN
+double_min / Inf_plus : 0x0
+double_min / Inf_min : 0x0
+double_min / Inf : 0x0
+double_min / long_max : 0x0
+double_min / long_min : 0x0
+double_min / int_max : 0x.4e-263
+double_min / int_min : 0x.ce-263
+double_min / uint_max : 0x.2e-263
+double_min / ulong_max : 0x0
+double_min / double_min : 0x1
+double_min / double_max : 0x0
+double_min / float_min : 0x.1e-223
+double_min / float_max : 0x0
+double_min * zero_min : 0x0
+double_min * zero_plus : 0x0
+double_min * zero : 0x0
+double_min * NaN : NaN
+double_min * Inf_plus : Inf
+double_min * Inf_min : -Inf
+double_min * Inf : Inf
+double_min * long_max : 0x.2e-239
+double_min * long_min : 0x.ee-239
+double_min * int_max : 0x.1fffffffce-247
+double_min * int_min : 0x.ee-247
+double_min * uint_max : 0x.3fffffffce-247
+double_min * ulong_max : 0x.4e-239
+double_min * double_min : 0x0
+double_min * double_max : 0x3.ffffffffffffe
+double_min * float_min : 0x0
+double_min * float_max : 0x.3fffffce-223
+double_min + zero_min : 0x.4e-255
+double_min + zero_plus : 0x.4e-255
+double_min + zero : 0x.4e-255
+double_min + NaN : NaN
+double_min + Inf_plus : Inf
+double_min + Inf_min : -Inf
+double_min + Inf : Inf
+double_min + long_max : 0x08e+15
+double_min + long_min : 0x8e+15
+double_min + int_max : 0x7fffffff
+double_min + int_min : 0x8e+7
+double_min + uint_max : 0x0ffffffff
+double_min + ulong_max : 0x1e+16
+double_min + double_min : 0x.08e-254
+double_min + double_max : 0x0fffffffffffff8e+242
+double_min + float_min : 0x.4e-31
+double_min + float_max : 0x0ffffffe+26
+double_min - zero_min : 0x.4e-255
+double_min - zero_plus : 0x.4e-255
+double_min - zero : 0x.4e-255
+double_min - NaN : NaN
+double_min - Inf_plus : -Inf
+double_min - Inf_min : Inf
+double_min - Inf : -Inf
+double_min - long_max : 0x8e+15
+double_min - long_min : 0x08e+15
+double_min - int_max : 0x80000001
+double_min - int_min : 0x08e+7
+double_min - uint_max : 0xf00000001
+double_min - ulong_max : 0xfe+16
+double_min - double_min : 0x0
+double_min - double_max : 0xf00000000000008e+242
+double_min - float_min : 0x.ce-31
+double_min - float_max : 0xf000001e+26
+double_min > zero_min : 0x1
+double_min > zero_plus : 0x1
+double_min > zero : 0x1
+double_min > NaN : 0x0
+double_min > Inf_plus : 0x0
+double_min > Inf_min : 0x1
+double_min > Inf : 0x0
+double_min > long_max : 0x0
+double_min > long_min : 0x1
+double_min > int_max : 0x0
+double_min > int_min : 0x1
+double_min > uint_max : 0x0
+double_min > ulong_max : 0x0
+double_min > double_min : 0x0
+double_min > double_max : 0x0
+double_min > float_min : 0x0
+double_min > float_max : 0x0
+double_min < zero_min : 0x0
+double_min < zero_plus : 0x0
+double_min < zero : 0x0
+double_min < NaN : 0x0
+double_min < Inf_plus : 0x1
+double_min < Inf_min : 0x0
+double_min < Inf : 0x1
+double_min < long_max : 0x1
+double_min < long_min : 0x0
+double_min < int_max : 0x1
+double_min < int_min : 0x0
+double_min < uint_max : 0x1
+double_min < ulong_max : 0x1
+double_min < double_min : 0x0
+double_min < double_max : 0x1
+double_min < float_min : 0x1
+double_min < float_max : 0x1
+double_min >= zero_min : 0x1
+double_min >= zero_plus : 0x1
+double_min >= zero : 0x1
+double_min >= NaN : 0x0
+double_min >= Inf_plus : 0x0
+double_min >= Inf_min : 0x1
+double_min >= Inf : 0x0
+double_min >= long_max : 0x0
+double_min >= long_min : 0x1
+double_min >= int_max : 0x0
+double_min >= int_min : 0x1
+double_min >= uint_max : 0x0
+double_min >= ulong_max : 0x0
+double_min >= double_min : 0x1
+double_min >= double_max : 0x0
+double_min >= float_min : 0x0
+double_min >= float_max : 0x0
+double_min <= zero_min : 0x0
+double_min <= zero_plus : 0x0
+double_min <= zero : 0x0
+double_min <= NaN : 0x0
+double_min <= Inf_plus : 0x1
+double_min <= Inf_min : 0x0
+double_min <= Inf : 0x1
+double_min <= long_max : 0x1
+double_min <= long_min : 0x0
+double_min <= int_max : 0x1
+double_min <= int_min : 0x0
+double_min <= uint_max : 0x1
+double_min <= ulong_max : 0x1
+double_min <= double_min : 0x1
+double_min <= double_max : 0x1
+double_min <= float_min : 0x1
+double_min <= float_max : 0x1
+double_min == zero_min : 0x0
+double_min == zero_plus : 0x0
+double_min == zero : 0x0
+double_min == NaN : 0x0
+double_min == Inf_plus : 0x0
+double_min == Inf_min : 0x0
+double_min == Inf : 0x0
+double_min == long_max : 0x0
+double_min == long_min : 0x0
+double_min == int_max : 0x0
+double_min == int_min : 0x0
+double_min == uint_max : 0x0
+double_min == ulong_max : 0x0
+double_min == double_min : 0x1
+double_min == double_max : 0x0
+double_min == float_min : 0x0
+double_min == float_max : 0x0
+double_min != zero_min : 0x1
+double_min != zero_plus : 0x1
+double_min != zero : 0x1
+double_min != NaN : 0x1
+double_min != Inf_plus : 0x1
+double_min != Inf_min : 0x1
+double_min != Inf : 0x1
+double_min != long_max : 0x1
+double_min != long_min : 0x1
+double_min != int_max : 0x1
+double_min != int_min : 0x1
+double_min != uint_max : 0x1
+double_min != ulong_max : 0x1
+double_min != double_min : 0x0
+double_min != double_max : 0x1
+double_min != float_min : 0x1
+double_min != float_max : 0x1
+double_min * double_min * zero_min : 0x0
+double_min * double_min * zero_plus : 0x0
+double_min * double_min * zero : 0x0
+double_min * double_min * NaN : NaN
+double_min * double_min * Inf_plus : NaN
+double_min * double_min * Inf_min : NaN
+double_min * double_min * Inf : NaN
+double_min * double_min * long_max : 0x0
+double_min * double_min * long_min : 0x0
+double_min * double_min * int_max : 0x0
+double_min * double_min * int_min : 0x0
+double_min * double_min * uint_max : 0x0
+double_min * double_min * ulong_max : 0x0
+double_min * double_min * double_min : 0x0
+double_min * double_min * double_max : 0x0
+double_min * double_min * float_min : 0x0
+double_min * double_min * float_max : 0x0
+double_max / zero_min : -Inf
+double_max / zero_plus : Inf
+double_max / zero : Inf
+double_max / NaN : NaN
+double_max / Inf_plus : 0x0
+double_max / Inf_min : 0x0
+double_max / Inf : 0x0
+double_max / long_max : 0x1fffffffffffffe+227
+double_max / long_min : 0xe0000000000001e+227
+double_max / int_max : 0x200000004e+240
+double_max / int_min : 0xe0000000000001e+235
+double_max / uint_max : 0x100000001e+240
+double_max / ulong_max : 0x0fffffffffffff8e+226
+double_max / double_min : Inf
+double_max / double_max : 0x1
+double_max / float_min : Inf
+double_max / float_max : 0x1000001000001e+212
+double_max * zero_min : 0x0
+double_max * zero_plus : 0x0
+double_max * zero : 0x0
+double_max * NaN : NaN
+double_max * Inf_plus : Inf
+double_max * Inf_min : -Inf
+double_max * Inf : Inf
+double_max * long_max : Inf
+double_max * long_min : -Inf
+double_max * int_max : Inf
+double_max * int_min : -Inf
+double_max * uint_max : Inf
+double_max * ulong_max : Inf
+double_max * double_min : 0x3.ffffffffffffe
+double_max * double_max : Inf
+double_max * float_min : 0x3ffffffffffffee+211
+double_max * float_max : Inf
+double_max + zero_min : 0x0fffffffffffff8e+242
+double_max + zero_plus : 0x0fffffffffffff8e+242
+double_max + zero : 0x0fffffffffffff8e+242
+double_max + NaN : NaN
+double_max + Inf_plus : Inf
+double_max + Inf_min : -Inf
+double_max + Inf : Inf
+double_max + long_max : 0x0fffffffffffff8e+242
+double_max + long_min : 0x0fffffffffffff8e+242
+double_max + int_max : 0x0fffffffffffff8e+242
+double_max + int_min : 0x0fffffffffffff8e+242
+double_max + uint_max : 0x0fffffffffffff8e+242
+double_max + ulong_max : 0x0fffffffffffff8e+242
+double_max + double_min : 0x0fffffffffffff8e+242
+double_max + double_max : Inf
+double_max + float_min : 0x0fffffffffffff8e+242
+double_max + float_max : 0x0fffffffffffff8e+242
+double_max - zero_min : 0x0fffffffffffff8e+242
+double_max - zero_plus : 0x0fffffffffffff8e+242
+double_max - zero : 0x0fffffffffffff8e+242
+double_max - NaN : NaN
+double_max - Inf_plus : -Inf
+double_max - Inf_min : Inf
+double_max - Inf : -Inf
+double_max - long_max : 0x0fffffffffffff8e+242
+double_max - long_min : 0x0fffffffffffff8e+242
+double_max - int_max : 0x0fffffffffffff8e+242
+double_max - int_min : 0x0fffffffffffff8e+242
+double_max - uint_max : 0x0fffffffffffff8e+242
+double_max - ulong_max : 0x0fffffffffffff8e+242
+double_max - double_min : 0x0fffffffffffff8e+242
+double_max - double_max : 0x0
+double_max - float_min : 0x0fffffffffffff8e+242
+double_max - float_max : 0x0fffffffffffff8e+242
+double_max > zero_min : 0x1
+double_max > zero_plus : 0x1
+double_max > zero : 0x1
+double_max > NaN : 0x0
+double_max > Inf_plus : 0x0
+double_max > Inf_min : 0x1
+double_max > Inf : 0x0
+double_max > long_max : 0x1
+double_max > long_min : 0x1
+double_max > int_max : 0x1
+double_max > int_min : 0x1
+double_max > uint_max : 0x1
+double_max > ulong_max : 0x1
+double_max > double_min : 0x1
+double_max > double_max : 0x0
+double_max > float_min : 0x1
+double_max > float_max : 0x1
+double_max < zero_min : 0x0
+double_max < zero_plus : 0x0
+double_max < zero : 0x0
+double_max < NaN : 0x0
+double_max < Inf_plus : 0x1
+double_max < Inf_min : 0x0
+double_max < Inf : 0x1
+double_max < long_max : 0x0
+double_max < long_min : 0x0
+double_max < int_max : 0x0
+double_max < int_min : 0x0
+double_max < uint_max : 0x0
+double_max < ulong_max : 0x0
+double_max < double_min : 0x0
+double_max < double_max : 0x0
+double_max < float_min : 0x0
+double_max < float_max : 0x0
+double_max >= zero_min : 0x1
+double_max >= zero_plus : 0x1
+double_max >= zero : 0x1
+double_max >= NaN : 0x0
+double_max >= Inf_plus : 0x0
+double_max >= Inf_min : 0x1
+double_max >= Inf : 0x0
+double_max >= long_max : 0x1
+double_max >= long_min : 0x1
+double_max >= int_max : 0x1
+double_max >= int_min : 0x1
+double_max >= uint_max : 0x1
+double_max >= ulong_max : 0x1
+double_max >= double_min : 0x1
+double_max >= double_max : 0x1
+double_max >= float_min : 0x1
+double_max >= float_max : 0x1
+double_max <= zero_min : 0x0
+double_max <= zero_plus : 0x0
+double_max <= zero : 0x0
+double_max <= NaN : 0x0
+double_max <= Inf_plus : 0x1
+double_max <= Inf_min : 0x0
+double_max <= Inf : 0x1
+double_max <= long_max : 0x0
+double_max <= long_min : 0x0
+double_max <= int_max : 0x0
+double_max <= int_min : 0x0
+double_max <= uint_max : 0x0
+double_max <= ulong_max : 0x0
+double_max <= double_min : 0x0
+double_max <= double_max : 0x1
+double_max <= float_min : 0x0
+double_max <= float_max : 0x0
+double_max == zero_min : 0x0
+double_max == zero_plus : 0x0
+double_max == zero : 0x0
+double_max == NaN : 0x0
+double_max == Inf_plus : 0x0
+double_max == Inf_min : 0x0
+double_max == Inf : 0x0
+double_max == long_max : 0x0
+double_max == long_min : 0x0
+double_max == int_max : 0x0
+double_max == int_min : 0x0
+double_max == uint_max : 0x0
+double_max == ulong_max : 0x0
+double_max == double_min : 0x0
+double_max == double_max : 0x1
+double_max == float_min : 0x0
+double_max == float_max : 0x0
+double_max != zero_min : 0x1
+double_max != zero_plus : 0x1
+double_max != zero : 0x1
+double_max != NaN : 0x1
+double_max != Inf_plus : 0x1
+double_max != Inf_min : 0x1
+double_max != Inf : 0x1
+double_max != long_max : 0x1
+double_max != long_min : 0x1
+double_max != int_max : 0x1
+double_max != int_min : 0x1
+double_max != uint_max : 0x1
+double_max != ulong_max : 0x1
+double_max != double_min : 0x1
+double_max != double_max : 0x0
+double_max != float_min : 0x1
+double_max != float_max : 0x1
+double_max * double_max * zero_min : NaN
+double_max * double_max * zero_plus : NaN
+double_max * double_max * zero : NaN
+double_max * double_max * NaN : NaN
+double_max * double_max * Inf_plus : Inf
+double_max * double_max * Inf_min : -Inf
+double_max * double_max * Inf : Inf
+double_max * double_max * long_max : Inf
+double_max * double_max * long_min : -Inf
+double_max * double_max * int_max : Inf
+double_max * double_max * int_min : -Inf
+double_max * double_max * uint_max : Inf
+double_max * double_max * ulong_max : Inf
+double_max * double_max * double_min : Inf
+double_max * double_max * double_max : Inf
+double_max * double_max * float_min : Inf
+double_max * double_max * float_max : Inf
+float_min / zero_min : -Inf
+float_min / zero_plus : Inf
+float_min / zero : Inf
+float_min / NaN : NaN
+float_min / Inf_plus : 0x0
+float_min / Inf_min : 0x0
+float_min / Inf : 0x0
+float_min / long_max : 0x.08e-46
+float_min / long_min : 0x.8e-47
+float_min / int_max : 0x.080000001e-38
+float_min / int_min : 0x.8e-39
+float_min / uint_max : 0x.400000004e-39
+float_min / ulong_max : 0x.4e-47
+float_min / double_min : 0x1e+224
+float_min / double_max : 0x0
+float_min / float_min : 0x1
+float_min / float_max : 0x.4000004000004e-63
+float_min * zero_min : 0x0
+float_min * zero_plus : 0x0
+float_min * zero : 0x0
+float_min * NaN : NaN
+float_min * Inf_plus : Inf
+float_min * Inf_min : -Inf
+float_min * Inf : Inf
+float_min * long_max : 0x.2e-15
+float_min * long_min : 0x.ee-15
+float_min * int_max : 0x.1fffffffce-23
+float_min * int_min : 0x.ee-23
+float_min * uint_max : 0x.3fffffffce-23
+float_min * ulong_max : 0x.4e-15
+float_min * double_min : 0x0
+float_min * double_max : 0x3ffffffffffffee+211
+float_min * float_min : 0x.1e-62
+float_min * float_max : 0x3.fffffc
+float_min + zero_min : 0x.4e-31
+float_min + zero_plus : 0x.4e-31
+float_min + zero : 0x.4e-31
+float_min + NaN : NaN
+float_min + Inf_plus : Inf
+float_min + Inf_min : -Inf
+float_min + Inf : Inf
+float_min + long_max : 0x08e+15
+float_min + long_min : 0x8e+15
+float_min + int_max : 0x7fffffff
+float_min + int_min : 0x8e+7
+float_min + uint_max : 0x0ffffffff
+float_min + ulong_max : 0x1e+16
+float_min + double_min : 0x.4e-31
+float_min + double_max : 0x0fffffffffffff8e+242
+float_min + float_min : 0x.08e-30
+float_min + float_max : 0x0ffffffe+26
+float_min - zero_min : 0x.4e-31
+float_min - zero_plus : 0x.4e-31
+float_min - zero : 0x.4e-31
+float_min - NaN : NaN
+float_min - Inf_plus : -Inf
+float_min - Inf_min : Inf
+float_min - Inf : -Inf
+float_min - long_max : 0x8e+15
+float_min - long_min : 0x08e+15
+float_min - int_max : 0x80000001
+float_min - int_min : 0x08e+7
+float_min - uint_max : 0xf00000001
+float_min - ulong_max : 0xfe+16
+float_min - double_min : 0x.4e-31
+float_min - double_max : 0xf00000000000008e+242
+float_min - float_min : 0x0
+float_min - float_max : 0xf000001e+26
+float_min > zero_min : 0x1
+float_min > zero_plus : 0x1
+float_min > zero : 0x1
+float_min > NaN : 0x0
+float_min > Inf_plus : 0x0
+float_min > Inf_min : 0x1
+float_min > Inf : 0x0
+float_min > long_max : 0x0
+float_min > long_min : 0x1
+float_min > int_max : 0x0
+float_min > int_min : 0x1
+float_min > uint_max : 0x0
+float_min > ulong_max : 0x0
+float_min > double_min : 0x1
+float_min > double_max : 0x0
+float_min > float_min : 0x0
+float_min > float_max : 0x0
+float_min < zero_min : 0x0
+float_min < zero_plus : 0x0
+float_min < zero : 0x0
+float_min < NaN : 0x0
+float_min < Inf_plus : 0x1
+float_min < Inf_min : 0x0
+float_min < Inf : 0x1
+float_min < long_max : 0x1
+float_min < long_min : 0x0
+float_min < int_max : 0x1
+float_min < int_min : 0x0
+float_min < uint_max : 0x1
+float_min < ulong_max : 0x1
+float_min < double_min : 0x0
+float_min < double_max : 0x1
+float_min < float_min : 0x0
+float_min < float_max : 0x1
+float_min >= zero_min : 0x1
+float_min >= zero_plus : 0x1
+float_min >= zero : 0x1
+float_min >= NaN : 0x0
+float_min >= Inf_plus : 0x0
+float_min >= Inf_min : 0x1
+float_min >= Inf : 0x0
+float_min >= long_max : 0x0
+float_min >= long_min : 0x1
+float_min >= int_max : 0x0
+float_min >= int_min : 0x1
+float_min >= uint_max : 0x0
+float_min >= ulong_max : 0x0
+float_min >= double_min : 0x1
+float_min >= double_max : 0x0
+float_min >= float_min : 0x1
+float_min >= float_max : 0x0
+float_min <= zero_min : 0x0
+float_min <= zero_plus : 0x0
+float_min <= zero : 0x0
+float_min <= NaN : 0x0
+float_min <= Inf_plus : 0x1
+float_min <= Inf_min : 0x0
+float_min <= Inf : 0x1
+float_min <= long_max : 0x1
+float_min <= long_min : 0x0
+float_min <= int_max : 0x1
+float_min <= int_min : 0x0
+float_min <= uint_max : 0x1
+float_min <= ulong_max : 0x1
+float_min <= double_min : 0x0
+float_min <= double_max : 0x1
+float_min <= float_min : 0x1
+float_min <= float_max : 0x1
+float_min == zero_min : 0x0
+float_min == zero_plus : 0x0
+float_min == zero : 0x0
+float_min == NaN : 0x0
+float_min == Inf_plus : 0x0
+float_min == Inf_min : 0x0
+float_min == Inf : 0x0
+float_min == long_max : 0x0
+float_min == long_min : 0x0
+float_min == int_max : 0x0
+float_min == int_min : 0x0
+float_min == uint_max : 0x0
+float_min == ulong_max : 0x0
+float_min == double_min : 0x0
+float_min == double_max : 0x0
+float_min == float_min : 0x1
+float_min == float_max : 0x0
+float_min != zero_min : 0x1
+float_min != zero_plus : 0x1
+float_min != zero : 0x1
+float_min != NaN : 0x1
+float_min != Inf_plus : 0x1
+float_min != Inf_min : 0x1
+float_min != Inf : 0x1
+float_min != long_max : 0x1
+float_min != long_min : 0x1
+float_min != int_max : 0x1
+float_min != int_min : 0x1
+float_min != uint_max : 0x1
+float_min != ulong_max : 0x1
+float_min != double_min : 0x1
+float_min != double_max : 0x1
+float_min != float_min : 0x0
+float_min != float_max : 0x1
+float_min * float_min * zero_min : 0x0
+float_min * float_min * zero_plus : 0x0
+float_min * float_min * zero : 0x0
+float_min * float_min * NaN : NaN
+float_min * float_min * Inf_plus : Inf
+float_min * float_min * Inf_min : -Inf
+float_min * float_min * Inf : Inf
+float_min * float_min * long_max : 0x.08e-46
+float_min * float_min * long_min : 0x.8e-47
+float_min * float_min * int_max : 0x.7fffffffe-55
+float_min * float_min * int_min : 0x.8e-55
+float_min * float_min * uint_max : 0x.0ffffffffe-54
+float_min * float_min * ulong_max : 0x.1e-46
+float_min * float_min * double_min : 0x0
+float_min * float_min * double_max : 0x0fffffffffffff8e+179
+float_min * float_min * float_min : 0x.4e-94
+float_min * float_min * float_max : 0x.0ffffffe-30
+float_max / zero_min : -Inf
+float_max / zero_plus : Inf
+float_max / zero : Inf
+float_max / NaN : NaN
+float_max / Inf_plus : 0x0
+float_max / Inf_min : 0x0
+float_max / Inf : 0x0
+float_max / long_max : 0x1fffffee+10
+float_max / long_min : 0xe000002e+10
+float_max / int_max : 0x1fffffe04e+16
+float_max / int_min : 0xe000002e+18
+float_max / uint_max : 0x0ffffff01e+16
+float_max / ulong_max : 0x0ffffffe+10
+float_max / double_min : Inf
+float_max / double_max : 0x.0ffffff00000008e-223
+float_max / float_min : 0x3fffffce+57
+float_max / float_max : 0x1
+float_max * zero_min : 0x0
+float_max * zero_plus : 0x0
+float_max * zero : 0x0
+float_max * NaN : NaN
+float_max * Inf_plus : Inf
+float_max * Inf_min : -Inf
+float_max * Inf : Inf
+float_max * long_max : 0x7fffff8e+41
+float_max * long_min : 0x8000008e+41
+float_max * int_max : 0x7fffff7fe+32
+float_max * int_min : 0x8000008e+33
+float_max * uint_max : 0x0fffffeffe+32
+float_max * ulong_max : 0x0ffffffe+42
+float_max * double_min : 0x.3fffffce-223
+float_max * double_max : Inf
+float_max * float_min : 0x3.fffffc
+float_max * float_max : 0x0fffffe000001e+52
+float_max + zero_min : 0x0ffffffe+26
+float_max + zero_plus : 0x0ffffffe+26
+float_max + zero : 0x0ffffffe+26
+float_max + NaN : NaN
+float_max + Inf_plus : Inf
+float_max + Inf_min : -Inf
+float_max + Inf : Inf
+float_max + long_max : 0x0ffffffe+26
+float_max + long_min : 0x0ffffffe+26
+float_max + int_max : 0x0ffffffe+26
+float_max + int_min : 0x0ffffffe+26
+float_max + uint_max : 0x0ffffffe+26
+float_max + ulong_max : 0x0ffffffe+26
+float_max + double_min : 0x0ffffffe+26
+float_max + double_max : 0x0fffffffffffff8e+242
+float_max + float_min : 0x0ffffffe+26
+float_max + float_max : 0x1fffffee+26
+float_max - zero_min : 0x0ffffffe+26
+float_max - zero_plus : 0x0ffffffe+26
+float_max - zero : 0x0ffffffe+26
+float_max - NaN : NaN
+float_max - Inf_plus : -Inf
+float_max - Inf_min : Inf
+float_max - Inf : -Inf
+float_max - long_max : 0x0ffffffe+26
+float_max - long_min : 0x0ffffffe+26
+float_max - int_max : 0x0ffffffe+26
+float_max - int_min : 0x0ffffffe+26
+float_max - uint_max : 0x0ffffffe+26
+float_max - ulong_max : 0x0ffffffe+26
+float_max - double_min : 0x0ffffffe+26
+float_max - double_max : 0xf00000000000008e+242
+float_max - float_min : 0x0ffffffe+26
+float_max - float_max : 0x0
+float_max > zero_min : 0x1
+float_max > zero_plus : 0x1
+float_max > zero : 0x1
+float_max > NaN : 0x0
+float_max > Inf_plus : 0x0
+float_max > Inf_min : 0x1
+float_max > Inf : 0x0
+float_max > long_max : 0x1
+float_max > long_min : 0x1
+float_max > int_max : 0x1
+float_max > int_min : 0x1
+float_max > uint_max : 0x1
+float_max > ulong_max : 0x1
+float_max > double_min : 0x1
+float_max > double_max : 0x0
+float_max > float_min : 0x1
+float_max > float_max : 0x0
+float_max < zero_min : 0x0
+float_max < zero_plus : 0x0
+float_max < zero : 0x0
+float_max < NaN : 0x0
+float_max < Inf_plus : 0x1
+float_max < Inf_min : 0x0
+float_max < Inf : 0x1
+float_max < long_max : 0x0
+float_max < long_min : 0x0
+float_max < int_max : 0x0
+float_max < int_min : 0x0
+float_max < uint_max : 0x0
+float_max < ulong_max : 0x0
+float_max < double_min : 0x0
+float_max < double_max : 0x1
+float_max < float_min : 0x0
+float_max < float_max : 0x0
+float_max >= zero_min : 0x1
+float_max >= zero_plus : 0x1
+float_max >= zero : 0x1
+float_max >= NaN : 0x0
+float_max >= Inf_plus : 0x0
+float_max >= Inf_min : 0x1
+float_max >= Inf : 0x0
+float_max >= long_max : 0x1
+float_max >= long_min : 0x1
+float_max >= int_max : 0x1
+float_max >= int_min : 0x1
+float_max >= uint_max : 0x1
+float_max >= ulong_max : 0x1
+float_max >= double_min : 0x1
+float_max >= double_max : 0x0
+float_max >= float_min : 0x1
+float_max >= float_max : 0x1
+float_max <= zero_min : 0x0
+float_max <= zero_plus : 0x0
+float_max <= zero : 0x0
+float_max <= NaN : 0x0
+float_max <= Inf_plus : 0x1
+float_max <= Inf_min : 0x0
+float_max <= Inf : 0x1
+float_max <= long_max : 0x0
+float_max <= long_min : 0x0
+float_max <= int_max : 0x0
+float_max <= int_min : 0x0
+float_max <= uint_max : 0x0
+float_max <= ulong_max : 0x0
+float_max <= double_min : 0x0
+float_max <= double_max : 0x1
+float_max <= float_min : 0x0
+float_max <= float_max : 0x1
+float_max == zero_min : 0x0
+float_max == zero_plus : 0x0
+float_max == zero : 0x0
+float_max == NaN : 0x0
+float_max == Inf_plus : 0x0
+float_max == Inf_min : 0x0
+float_max == Inf : 0x0
+float_max == long_max : 0x0
+float_max == long_min : 0x0
+float_max == int_max : 0x0
+float_max == int_min : 0x0
+float_max == uint_max : 0x0
+float_max == ulong_max : 0x0
+float_max == double_min : 0x0
+float_max == double_max : 0x0
+float_max == float_min : 0x0
+float_max == float_max : 0x1
+float_max != zero_min : 0x1
+float_max != zero_plus : 0x1
+float_max != zero : 0x1
+float_max != NaN : 0x1
+float_max != Inf_plus : 0x1
+float_max != Inf_min : 0x1
+float_max != Inf : 0x1
+float_max != long_max : 0x1
+float_max != long_min : 0x1
+float_max != int_max : 0x1
+float_max != int_min : 0x1
+float_max != uint_max : 0x1
+float_max != ulong_max : 0x1
+float_max != double_min : 0x1
+float_max != double_max : 0x1
+float_max != float_min : 0x1
+float_max != float_max : 0x0
+float_max * float_max * zero_min : 0x0
+float_max * float_max * zero_plus : 0x0
+float_max * float_max * zero : 0x0
+float_max * float_max * NaN : NaN
+float_max * float_max * Inf_plus : Inf
+float_max * float_max * Inf_min : -Inf
+float_max * float_max * Inf : Inf
+float_max * float_max * long_max : 0x7fffff0000008e+67
+float_max * float_max * long_min : 0x800000ffffff8e+67
+float_max * float_max * int_max : 0x7ffffeff00008e+59
+float_max * float_max * int_min : 0x800000ffffff8e+59
+float_max * float_max * uint_max : 0x0fffffdff0001e+60
+float_max * float_max * ulong_max : 0x0fffffe000001e+68
+float_max * float_max * double_min : 0x.3fffff8000004e-191
+float_max * float_max * double_max : Inf
+float_max * float_max * float_min : 0x3fffff8000004e+20
+float_max * float_max * float_max : 0x0fffffd000003e+84
+double_min / NaN : NaN
+****************** limits fx_ufix
+****************** limits fx_ufix_zero
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x000000000
+long_min : 0x000000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x000000000
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_Inf
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x000000000
+long_min : 0x000000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x000000000
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_long
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x000000000
+long_min : 0x000000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x000000000
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_double
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x000000000
+long_min : 0x000000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x000000000
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_fix
+****************** limits fx_fix_zero
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x00000000
+long_min : 0x00000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0x00000000
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_Inf
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x00000000
+long_min : 0x00000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0x00000000
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_long
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x00000000
+long_min : 0x00000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0x00000000
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_double
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x00000000
+long_min : 0x00000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0x00000000
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fixed<8, 5>
+****************** limits fx_fixed<8, 5>_zero
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_Inf
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_long
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_double
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>
+****************** limits fx_ufixed<8, 5>_zero
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_Inf
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_long
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_double
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x00.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x00.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.mingw b/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.mingw
new file mode 100644
index 000000000..847536547
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/golden/test.log.mingw
@@ -0,0 +1,3482 @@
+SystemC Simulation
+****************** limits fx_float_zero
+****************** limits fx_float_inf
+****************** limits fx_float
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x7fffffff
+long_min : 0x8e+7
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+zero_min / zero_min : NaN
+zero_min / zero_plus : NaN
+zero_min / zero : NaN
+zero_min / NaN : NaN
+zero_min / Inf_plus : 0x0
+zero_min / Inf_min : 0x0
+zero_min / Inf : 0x0
+zero_min / long_max : 0x0
+zero_min / long_min : 0x0
+zero_min / int_max : 0x0
+zero_min / int_min : 0x0
+zero_min / uint_max : 0x0
+zero_min / ulong_max : 0x0
+zero_min / double_min : 0x0
+zero_min / double_max : 0x0
+zero_min / float_min : 0x0
+zero_min / float_max : 0x0
+zero_min * zero_min : 0x0
+zero_min * zero_plus : 0x0
+zero_min * zero : 0x0
+zero_min * NaN : NaN
+zero_min * Inf_plus : NaN
+zero_min * Inf_min : NaN
+zero_min * Inf : NaN
+zero_min * long_max : 0x0
+zero_min * long_min : 0x0
+zero_min * int_max : 0x0
+zero_min * int_min : 0x0
+zero_min * uint_max : 0x0
+zero_min * ulong_max : 0x0
+zero_min * double_min : 0x0
+zero_min * double_max : 0x0
+zero_min * float_min : 0x0
+zero_min * float_max : 0x0
+zero_min + zero_min : 0x0
+zero_min + zero_plus : 0x0
+zero_min + zero : 0x0
+zero_min + NaN : NaN
+zero_min + Inf_plus : Inf
+zero_min + Inf_min : -Inf
+zero_min + Inf : Inf
+zero_min + long_max : 0x7fffffff
+zero_min + long_min : 0x8e+7
+zero_min + int_max : 0x7fffffff
+zero_min + int_min : 0x8e+7
+zero_min + uint_max : 0x0ffffffff
+zero_min + ulong_max : 0x0ffffffff
+zero_min + double_min : 0x.4e-255
+zero_min + double_max : 0x0fffffffffffff8e+242
+zero_min + float_min : 0x.4e-31
+zero_min + float_max : 0x0ffffffe+26
+zero_min - zero_min : 0x0
+zero_min - zero_plus : 0x0
+zero_min - zero : 0x0
+zero_min - NaN : NaN
+zero_min - Inf_plus : -Inf
+zero_min - Inf_min : Inf
+zero_min - Inf : -Inf
+zero_min - long_max : 0x80000001
+zero_min - long_min : 0x08e+7
+zero_min - int_max : 0x80000001
+zero_min - int_min : 0x08e+7
+zero_min - uint_max : 0xf00000001
+zero_min - ulong_max : 0xf00000001
+zero_min - double_min : 0x.ce-255
+zero_min - double_max : 0xf00000000000008e+242
+zero_min - float_min : 0x.ce-31
+zero_min - float_max : 0xf000001e+26
+zero_min > zero_min : 0x0
+zero_min > zero_plus : 0x0
+zero_min > zero : 0x0
+zero_min > NaN : 0x0
+zero_min > Inf_plus : 0x0
+zero_min > Inf_min : 0x1
+zero_min > Inf : 0x0
+zero_min > long_max : 0x0
+zero_min > long_min : 0x1
+zero_min > int_max : 0x0
+zero_min > int_min : 0x1
+zero_min > uint_max : 0x0
+zero_min > ulong_max : 0x0
+zero_min > double_min : 0x0
+zero_min > double_max : 0x0
+zero_min > float_min : 0x0
+zero_min > float_max : 0x0
+zero_min < zero_min : 0x0
+zero_min < zero_plus : 0x0
+zero_min < zero : 0x0
+zero_min < NaN : 0x0
+zero_min < Inf_plus : 0x1
+zero_min < Inf_min : 0x0
+zero_min < Inf : 0x1
+zero_min < long_max : 0x1
+zero_min < long_min : 0x0
+zero_min < int_max : 0x1
+zero_min < int_min : 0x0
+zero_min < uint_max : 0x1
+zero_min < ulong_max : 0x1
+zero_min < double_min : 0x1
+zero_min < double_max : 0x1
+zero_min < float_min : 0x1
+zero_min < float_max : 0x1
+zero_min >= zero_min : 0x1
+zero_min >= zero_plus : 0x1
+zero_min >= zero : 0x1
+zero_min >= NaN : 0x0
+zero_min >= Inf_plus : 0x0
+zero_min >= Inf_min : 0x1
+zero_min >= Inf : 0x0
+zero_min >= long_max : 0x0
+zero_min >= long_min : 0x1
+zero_min >= int_max : 0x0
+zero_min >= int_min : 0x1
+zero_min >= uint_max : 0x0
+zero_min >= ulong_max : 0x0
+zero_min >= double_min : 0x0
+zero_min >= double_max : 0x0
+zero_min >= float_min : 0x0
+zero_min >= float_max : 0x0
+zero_min <= zero_min : 0x1
+zero_min <= zero_plus : 0x1
+zero_min <= zero : 0x1
+zero_min <= NaN : 0x0
+zero_min <= Inf_plus : 0x1
+zero_min <= Inf_min : 0x0
+zero_min <= Inf : 0x1
+zero_min <= long_max : 0x1
+zero_min <= long_min : 0x0
+zero_min <= int_max : 0x1
+zero_min <= int_min : 0x0
+zero_min <= uint_max : 0x1
+zero_min <= ulong_max : 0x1
+zero_min <= double_min : 0x1
+zero_min <= double_max : 0x1
+zero_min <= float_min : 0x1
+zero_min <= float_max : 0x1
+zero_min == zero_min : 0x1
+zero_min == zero_plus : 0x1
+zero_min == zero : 0x1
+zero_min == NaN : 0x0
+zero_min == Inf_plus : 0x0
+zero_min == Inf_min : 0x0
+zero_min == Inf : 0x0
+zero_min == long_max : 0x0
+zero_min == long_min : 0x0
+zero_min == int_max : 0x0
+zero_min == int_min : 0x0
+zero_min == uint_max : 0x0
+zero_min == ulong_max : 0x0
+zero_min == double_min : 0x0
+zero_min == double_max : 0x0
+zero_min == float_min : 0x0
+zero_min == float_max : 0x0
+zero_min != zero_min : 0x0
+zero_min != zero_plus : 0x0
+zero_min != zero : 0x0
+zero_min != NaN : 0x1
+zero_min != Inf_plus : 0x1
+zero_min != Inf_min : 0x1
+zero_min != Inf : 0x1
+zero_min != long_max : 0x1
+zero_min != long_min : 0x1
+zero_min != int_max : 0x1
+zero_min != int_min : 0x1
+zero_min != uint_max : 0x1
+zero_min != ulong_max : 0x1
+zero_min != double_min : 0x1
+zero_min != double_max : 0x1
+zero_min != float_min : 0x1
+zero_min != float_max : 0x1
+zero_min * zero_min * zero_min : 0x0
+zero_min * zero_min * zero_plus : 0x0
+zero_min * zero_min * zero : 0x0
+zero_min * zero_min * NaN : NaN
+zero_min * zero_min * Inf_plus : NaN
+zero_min * zero_min * Inf_min : NaN
+zero_min * zero_min * Inf : NaN
+zero_min * zero_min * long_max : 0x0
+zero_min * zero_min * long_min : 0x0
+zero_min * zero_min * int_max : 0x0
+zero_min * zero_min * int_min : 0x0
+zero_min * zero_min * uint_max : 0x0
+zero_min * zero_min * ulong_max : 0x0
+zero_min * zero_min * double_min : 0x0
+zero_min * zero_min * double_max : 0x0
+zero_min * zero_min * float_min : 0x0
+zero_min * zero_min * float_max : 0x0
+zero_plus / zero_min : NaN
+zero_plus / zero_plus : NaN
+zero_plus / zero : NaN
+zero_plus / NaN : NaN
+zero_plus / Inf_plus : 0x0
+zero_plus / Inf_min : 0x0
+zero_plus / Inf : 0x0
+zero_plus / long_max : 0x0
+zero_plus / long_min : 0x0
+zero_plus / int_max : 0x0
+zero_plus / int_min : 0x0
+zero_plus / uint_max : 0x0
+zero_plus / ulong_max : 0x0
+zero_plus / double_min : 0x0
+zero_plus / double_max : 0x0
+zero_plus / float_min : 0x0
+zero_plus / float_max : 0x0
+zero_plus * zero_min : 0x0
+zero_plus * zero_plus : 0x0
+zero_plus * zero : 0x0
+zero_plus * NaN : NaN
+zero_plus * Inf_plus : NaN
+zero_plus * Inf_min : NaN
+zero_plus * Inf : NaN
+zero_plus * long_max : 0x0
+zero_plus * long_min : 0x0
+zero_plus * int_max : 0x0
+zero_plus * int_min : 0x0
+zero_plus * uint_max : 0x0
+zero_plus * ulong_max : 0x0
+zero_plus * double_min : 0x0
+zero_plus * double_max : 0x0
+zero_plus * float_min : 0x0
+zero_plus * float_max : 0x0
+zero_plus + zero_min : 0x0
+zero_plus + zero_plus : 0x0
+zero_plus + zero : 0x0
+zero_plus + NaN : NaN
+zero_plus + Inf_plus : Inf
+zero_plus + Inf_min : -Inf
+zero_plus + Inf : Inf
+zero_plus + long_max : 0x7fffffff
+zero_plus + long_min : 0x8e+7
+zero_plus + int_max : 0x7fffffff
+zero_plus + int_min : 0x8e+7
+zero_plus + uint_max : 0x0ffffffff
+zero_plus + ulong_max : 0x0ffffffff
+zero_plus + double_min : 0x.4e-255
+zero_plus + double_max : 0x0fffffffffffff8e+242
+zero_plus + float_min : 0x.4e-31
+zero_plus + float_max : 0x0ffffffe+26
+zero_plus - zero_min : 0x0
+zero_plus - zero_plus : 0x0
+zero_plus - zero : 0x0
+zero_plus - NaN : NaN
+zero_plus - Inf_plus : -Inf
+zero_plus - Inf_min : Inf
+zero_plus - Inf : -Inf
+zero_plus - long_max : 0x80000001
+zero_plus - long_min : 0x08e+7
+zero_plus - int_max : 0x80000001
+zero_plus - int_min : 0x08e+7
+zero_plus - uint_max : 0xf00000001
+zero_plus - ulong_max : 0xf00000001
+zero_plus - double_min : 0x.ce-255
+zero_plus - double_max : 0xf00000000000008e+242
+zero_plus - float_min : 0x.ce-31
+zero_plus - float_max : 0xf000001e+26
+zero_plus > zero_min : 0x0
+zero_plus > zero_plus : 0x0
+zero_plus > zero : 0x0
+zero_plus > NaN : 0x0
+zero_plus > Inf_plus : 0x0
+zero_plus > Inf_min : 0x1
+zero_plus > Inf : 0x0
+zero_plus > long_max : 0x0
+zero_plus > long_min : 0x1
+zero_plus > int_max : 0x0
+zero_plus > int_min : 0x1
+zero_plus > uint_max : 0x0
+zero_plus > ulong_max : 0x0
+zero_plus > double_min : 0x0
+zero_plus > double_max : 0x0
+zero_plus > float_min : 0x0
+zero_plus > float_max : 0x0
+zero_plus < zero_min : 0x0
+zero_plus < zero_plus : 0x0
+zero_plus < zero : 0x0
+zero_plus < NaN : 0x0
+zero_plus < Inf_plus : 0x1
+zero_plus < Inf_min : 0x0
+zero_plus < Inf : 0x1
+zero_plus < long_max : 0x1
+zero_plus < long_min : 0x0
+zero_plus < int_max : 0x1
+zero_plus < int_min : 0x0
+zero_plus < uint_max : 0x1
+zero_plus < ulong_max : 0x1
+zero_plus < double_min : 0x1
+zero_plus < double_max : 0x1
+zero_plus < float_min : 0x1
+zero_plus < float_max : 0x1
+zero_plus >= zero_min : 0x1
+zero_plus >= zero_plus : 0x1
+zero_plus >= zero : 0x1
+zero_plus >= NaN : 0x0
+zero_plus >= Inf_plus : 0x0
+zero_plus >= Inf_min : 0x1
+zero_plus >= Inf : 0x0
+zero_plus >= long_max : 0x0
+zero_plus >= long_min : 0x1
+zero_plus >= int_max : 0x0
+zero_plus >= int_min : 0x1
+zero_plus >= uint_max : 0x0
+zero_plus >= ulong_max : 0x0
+zero_plus >= double_min : 0x0
+zero_plus >= double_max : 0x0
+zero_plus >= float_min : 0x0
+zero_plus >= float_max : 0x0
+zero_plus <= zero_min : 0x1
+zero_plus <= zero_plus : 0x1
+zero_plus <= zero : 0x1
+zero_plus <= NaN : 0x0
+zero_plus <= Inf_plus : 0x1
+zero_plus <= Inf_min : 0x0
+zero_plus <= Inf : 0x1
+zero_plus <= long_max : 0x1
+zero_plus <= long_min : 0x0
+zero_plus <= int_max : 0x1
+zero_plus <= int_min : 0x0
+zero_plus <= uint_max : 0x1
+zero_plus <= ulong_max : 0x1
+zero_plus <= double_min : 0x1
+zero_plus <= double_max : 0x1
+zero_plus <= float_min : 0x1
+zero_plus <= float_max : 0x1
+zero_plus == zero_min : 0x1
+zero_plus == zero_plus : 0x1
+zero_plus == zero : 0x1
+zero_plus == NaN : 0x0
+zero_plus == Inf_plus : 0x0
+zero_plus == Inf_min : 0x0
+zero_plus == Inf : 0x0
+zero_plus == long_max : 0x0
+zero_plus == long_min : 0x0
+zero_plus == int_max : 0x0
+zero_plus == int_min : 0x0
+zero_plus == uint_max : 0x0
+zero_plus == ulong_max : 0x0
+zero_plus == double_min : 0x0
+zero_plus == double_max : 0x0
+zero_plus == float_min : 0x0
+zero_plus == float_max : 0x0
+zero_plus != zero_min : 0x0
+zero_plus != zero_plus : 0x0
+zero_plus != zero : 0x0
+zero_plus != NaN : 0x1
+zero_plus != Inf_plus : 0x1
+zero_plus != Inf_min : 0x1
+zero_plus != Inf : 0x1
+zero_plus != long_max : 0x1
+zero_plus != long_min : 0x1
+zero_plus != int_max : 0x1
+zero_plus != int_min : 0x1
+zero_plus != uint_max : 0x1
+zero_plus != ulong_max : 0x1
+zero_plus != double_min : 0x1
+zero_plus != double_max : 0x1
+zero_plus != float_min : 0x1
+zero_plus != float_max : 0x1
+zero_plus * zero_plus * zero_min : 0x0
+zero_plus * zero_plus * zero_plus : 0x0
+zero_plus * zero_plus * zero : 0x0
+zero_plus * zero_plus * NaN : NaN
+zero_plus * zero_plus * Inf_plus : NaN
+zero_plus * zero_plus * Inf_min : NaN
+zero_plus * zero_plus * Inf : NaN
+zero_plus * zero_plus * long_max : 0x0
+zero_plus * zero_plus * long_min : 0x0
+zero_plus * zero_plus * int_max : 0x0
+zero_plus * zero_plus * int_min : 0x0
+zero_plus * zero_plus * uint_max : 0x0
+zero_plus * zero_plus * ulong_max : 0x0
+zero_plus * zero_plus * double_min : 0x0
+zero_plus * zero_plus * double_max : 0x0
+zero_plus * zero_plus * float_min : 0x0
+zero_plus * zero_plus * float_max : 0x0
+zero / zero_min : NaN
+zero / zero_plus : NaN
+zero / zero : NaN
+zero / NaN : NaN
+zero / Inf_plus : 0x0
+zero / Inf_min : 0x0
+zero / Inf : 0x0
+zero / long_max : 0x0
+zero / long_min : 0x0
+zero / int_max : 0x0
+zero / int_min : 0x0
+zero / uint_max : 0x0
+zero / ulong_max : 0x0
+zero / double_min : 0x0
+zero / double_max : 0x0
+zero / float_min : 0x0
+zero / float_max : 0x0
+zero * zero_min : 0x0
+zero * zero_plus : 0x0
+zero * zero : 0x0
+zero * NaN : NaN
+zero * Inf_plus : NaN
+zero * Inf_min : NaN
+zero * Inf : NaN
+zero * long_max : 0x0
+zero * long_min : 0x0
+zero * int_max : 0x0
+zero * int_min : 0x0
+zero * uint_max : 0x0
+zero * ulong_max : 0x0
+zero * double_min : 0x0
+zero * double_max : 0x0
+zero * float_min : 0x0
+zero * float_max : 0x0
+zero + zero_min : 0x0
+zero + zero_plus : 0x0
+zero + zero : 0x0
+zero + NaN : NaN
+zero + Inf_plus : Inf
+zero + Inf_min : -Inf
+zero + Inf : Inf
+zero + long_max : 0x7fffffff
+zero + long_min : 0x8e+7
+zero + int_max : 0x7fffffff
+zero + int_min : 0x8e+7
+zero + uint_max : 0x0ffffffff
+zero + ulong_max : 0x0ffffffff
+zero + double_min : 0x.4e-255
+zero + double_max : 0x0fffffffffffff8e+242
+zero + float_min : 0x.4e-31
+zero + float_max : 0x0ffffffe+26
+zero - zero_min : 0x0
+zero - zero_plus : 0x0
+zero - zero : 0x0
+zero - NaN : NaN
+zero - Inf_plus : -Inf
+zero - Inf_min : Inf
+zero - Inf : -Inf
+zero - long_max : 0x80000001
+zero - long_min : 0x08e+7
+zero - int_max : 0x80000001
+zero - int_min : 0x08e+7
+zero - uint_max : 0xf00000001
+zero - ulong_max : 0xf00000001
+zero - double_min : 0x.ce-255
+zero - double_max : 0xf00000000000008e+242
+zero - float_min : 0x.ce-31
+zero - float_max : 0xf000001e+26
+zero > zero_min : 0x0
+zero > zero_plus : 0x0
+zero > zero : 0x0
+zero > NaN : 0x0
+zero > Inf_plus : 0x0
+zero > Inf_min : 0x1
+zero > Inf : 0x0
+zero > long_max : 0x0
+zero > long_min : 0x1
+zero > int_max : 0x0
+zero > int_min : 0x1
+zero > uint_max : 0x0
+zero > ulong_max : 0x0
+zero > double_min : 0x0
+zero > double_max : 0x0
+zero > float_min : 0x0
+zero > float_max : 0x0
+zero < zero_min : 0x0
+zero < zero_plus : 0x0
+zero < zero : 0x0
+zero < NaN : 0x0
+zero < Inf_plus : 0x1
+zero < Inf_min : 0x0
+zero < Inf : 0x1
+zero < long_max : 0x1
+zero < long_min : 0x0
+zero < int_max : 0x1
+zero < int_min : 0x0
+zero < uint_max : 0x1
+zero < ulong_max : 0x1
+zero < double_min : 0x1
+zero < double_max : 0x1
+zero < float_min : 0x1
+zero < float_max : 0x1
+zero >= zero_min : 0x1
+zero >= zero_plus : 0x1
+zero >= zero : 0x1
+zero >= NaN : 0x0
+zero >= Inf_plus : 0x0
+zero >= Inf_min : 0x1
+zero >= Inf : 0x0
+zero >= long_max : 0x0
+zero >= long_min : 0x1
+zero >= int_max : 0x0
+zero >= int_min : 0x1
+zero >= uint_max : 0x0
+zero >= ulong_max : 0x0
+zero >= double_min : 0x0
+zero >= double_max : 0x0
+zero >= float_min : 0x0
+zero >= float_max : 0x0
+zero <= zero_min : 0x1
+zero <= zero_plus : 0x1
+zero <= zero : 0x1
+zero <= NaN : 0x0
+zero <= Inf_plus : 0x1
+zero <= Inf_min : 0x0
+zero <= Inf : 0x1
+zero <= long_max : 0x1
+zero <= long_min : 0x0
+zero <= int_max : 0x1
+zero <= int_min : 0x0
+zero <= uint_max : 0x1
+zero <= ulong_max : 0x1
+zero <= double_min : 0x1
+zero <= double_max : 0x1
+zero <= float_min : 0x1
+zero <= float_max : 0x1
+zero == zero_min : 0x1
+zero == zero_plus : 0x1
+zero == zero : 0x1
+zero == NaN : 0x0
+zero == Inf_plus : 0x0
+zero == Inf_min : 0x0
+zero == Inf : 0x0
+zero == long_max : 0x0
+zero == long_min : 0x0
+zero == int_max : 0x0
+zero == int_min : 0x0
+zero == uint_max : 0x0
+zero == ulong_max : 0x0
+zero == double_min : 0x0
+zero == double_max : 0x0
+zero == float_min : 0x0
+zero == float_max : 0x0
+zero != zero_min : 0x0
+zero != zero_plus : 0x0
+zero != zero : 0x0
+zero != NaN : 0x1
+zero != Inf_plus : 0x1
+zero != Inf_min : 0x1
+zero != Inf : 0x1
+zero != long_max : 0x1
+zero != long_min : 0x1
+zero != int_max : 0x1
+zero != int_min : 0x1
+zero != uint_max : 0x1
+zero != ulong_max : 0x1
+zero != double_min : 0x1
+zero != double_max : 0x1
+zero != float_min : 0x1
+zero != float_max : 0x1
+zero * zero * zero_min : 0x0
+zero * zero * zero_plus : 0x0
+zero * zero * zero : 0x0
+zero * zero * NaN : NaN
+zero * zero * Inf_plus : NaN
+zero * zero * Inf_min : NaN
+zero * zero * Inf : NaN
+zero * zero * long_max : 0x0
+zero * zero * long_min : 0x0
+zero * zero * int_max : 0x0
+zero * zero * int_min : 0x0
+zero * zero * uint_max : 0x0
+zero * zero * ulong_max : 0x0
+zero * zero * double_min : 0x0
+zero * zero * double_max : 0x0
+zero * zero * float_min : 0x0
+zero * zero * float_max : 0x0
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x7fffffff
+long_min : 0x8e+7
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+NaN / zero_min : NaN
+NaN / zero_plus : NaN
+NaN / zero : NaN
+NaN / NaN : NaN
+NaN / Inf_plus : NaN
+NaN / Inf_min : NaN
+NaN / Inf : NaN
+NaN / long_max : NaN
+NaN / long_min : NaN
+NaN / int_max : NaN
+NaN / int_min : NaN
+NaN / uint_max : NaN
+NaN / ulong_max : NaN
+NaN / double_min : NaN
+NaN / double_max : NaN
+NaN / float_min : NaN
+NaN / float_max : NaN
+NaN * zero_min : NaN
+NaN * zero_plus : NaN
+NaN * zero : NaN
+NaN * NaN : NaN
+NaN * Inf_plus : NaN
+NaN * Inf_min : NaN
+NaN * Inf : NaN
+NaN * long_max : NaN
+NaN * long_min : NaN
+NaN * int_max : NaN
+NaN * int_min : NaN
+NaN * uint_max : NaN
+NaN * ulong_max : NaN
+NaN * double_min : NaN
+NaN * double_max : NaN
+NaN * float_min : NaN
+NaN * float_max : NaN
+NaN + zero_min : NaN
+NaN + zero_plus : NaN
+NaN + zero : NaN
+NaN + NaN : NaN
+NaN + Inf_plus : NaN
+NaN + Inf_min : NaN
+NaN + Inf : NaN
+NaN + long_max : NaN
+NaN + long_min : NaN
+NaN + int_max : NaN
+NaN + int_min : NaN
+NaN + uint_max : NaN
+NaN + ulong_max : NaN
+NaN + double_min : NaN
+NaN + double_max : NaN
+NaN + float_min : NaN
+NaN + float_max : NaN
+NaN - zero_min : NaN
+NaN - zero_plus : NaN
+NaN - zero : NaN
+NaN - NaN : NaN
+NaN - Inf_plus : NaN
+NaN - Inf_min : NaN
+NaN - Inf : NaN
+NaN - long_max : NaN
+NaN - long_min : NaN
+NaN - int_max : NaN
+NaN - int_min : NaN
+NaN - uint_max : NaN
+NaN - ulong_max : NaN
+NaN - double_min : NaN
+NaN - double_max : NaN
+NaN - float_min : NaN
+NaN - float_max : NaN
+NaN > zero_min : 0x0
+NaN > zero_plus : 0x0
+NaN > zero : 0x0
+NaN > NaN : 0x0
+NaN > Inf_plus : 0x0
+NaN > Inf_min : 0x0
+NaN > Inf : 0x0
+NaN > long_max : 0x0
+NaN > long_min : 0x0
+NaN > int_max : 0x0
+NaN > int_min : 0x0
+NaN > uint_max : 0x0
+NaN > ulong_max : 0x0
+NaN > double_min : 0x0
+NaN > double_max : 0x0
+NaN > float_min : 0x0
+NaN > float_max : 0x0
+NaN < zero_min : 0x0
+NaN < zero_plus : 0x0
+NaN < zero : 0x0
+NaN < NaN : 0x0
+NaN < Inf_plus : 0x0
+NaN < Inf_min : 0x0
+NaN < Inf : 0x0
+NaN < long_max : 0x0
+NaN < long_min : 0x0
+NaN < int_max : 0x0
+NaN < int_min : 0x0
+NaN < uint_max : 0x0
+NaN < ulong_max : 0x0
+NaN < double_min : 0x0
+NaN < double_max : 0x0
+NaN < float_min : 0x0
+NaN < float_max : 0x0
+NaN >= zero_min : 0x0
+NaN >= zero_plus : 0x0
+NaN >= zero : 0x0
+NaN >= NaN : 0x0
+NaN >= Inf_plus : 0x0
+NaN >= Inf_min : 0x0
+NaN >= Inf : 0x0
+NaN >= long_max : 0x0
+NaN >= long_min : 0x0
+NaN >= int_max : 0x0
+NaN >= int_min : 0x0
+NaN >= uint_max : 0x0
+NaN >= ulong_max : 0x0
+NaN >= double_min : 0x0
+NaN >= double_max : 0x0
+NaN >= float_min : 0x0
+NaN >= float_max : 0x0
+NaN <= zero_min : 0x0
+NaN <= zero_plus : 0x0
+NaN <= zero : 0x0
+NaN <= NaN : 0x0
+NaN <= Inf_plus : 0x0
+NaN <= Inf_min : 0x0
+NaN <= Inf : 0x0
+NaN <= long_max : 0x0
+NaN <= long_min : 0x0
+NaN <= int_max : 0x0
+NaN <= int_min : 0x0
+NaN <= uint_max : 0x0
+NaN <= ulong_max : 0x0
+NaN <= double_min : 0x0
+NaN <= double_max : 0x0
+NaN <= float_min : 0x0
+NaN <= float_max : 0x0
+NaN == zero_min : 0x0
+NaN == zero_plus : 0x0
+NaN == zero : 0x0
+NaN == NaN : 0x0
+NaN == Inf_plus : 0x0
+NaN == Inf_min : 0x0
+NaN == Inf : 0x0
+NaN == long_max : 0x0
+NaN == long_min : 0x0
+NaN == int_max : 0x0
+NaN == int_min : 0x0
+NaN == uint_max : 0x0
+NaN == ulong_max : 0x0
+NaN == double_min : 0x0
+NaN == double_max : 0x0
+NaN == float_min : 0x0
+NaN == float_max : 0x0
+NaN != zero_min : 0x1
+NaN != zero_plus : 0x1
+NaN != zero : 0x1
+NaN != NaN : 0x1
+NaN != Inf_plus : 0x1
+NaN != Inf_min : 0x1
+NaN != Inf : 0x1
+NaN != long_max : 0x1
+NaN != long_min : 0x1
+NaN != int_max : 0x1
+NaN != int_min : 0x1
+NaN != uint_max : 0x1
+NaN != ulong_max : 0x1
+NaN != double_min : 0x1
+NaN != double_max : 0x1
+NaN != float_min : 0x1
+NaN != float_max : 0x1
+NaN * NaN * zero_min : NaN
+NaN * NaN * zero_plus : NaN
+NaN * NaN * zero : NaN
+NaN * NaN * NaN : NaN
+NaN * NaN * Inf_plus : NaN
+NaN * NaN * Inf_min : NaN
+NaN * NaN * Inf : NaN
+NaN * NaN * long_max : NaN
+NaN * NaN * long_min : NaN
+NaN * NaN * int_max : NaN
+NaN * NaN * int_min : NaN
+NaN * NaN * uint_max : NaN
+NaN * NaN * ulong_max : NaN
+NaN * NaN * double_min : NaN
+NaN * NaN * double_max : NaN
+NaN * NaN * float_min : NaN
+NaN * NaN * float_max : NaN
+Inf_plus / zero_min : -Inf
+Inf_plus / zero_plus : Inf
+Inf_plus / zero : Inf
+Inf_plus / NaN : NaN
+Inf_plus / Inf_plus : NaN
+Inf_plus / Inf_min : NaN
+Inf_plus / Inf : NaN
+Inf_plus / long_max : Inf
+Inf_plus / long_min : -Inf
+Inf_plus / int_max : Inf
+Inf_plus / int_min : -Inf
+Inf_plus / uint_max : Inf
+Inf_plus / ulong_max : Inf
+Inf_plus / double_min : Inf
+Inf_plus / double_max : Inf
+Inf_plus / float_min : Inf
+Inf_plus / float_max : Inf
+Inf_plus * zero_min : NaN
+Inf_plus * zero_plus : NaN
+Inf_plus * zero : NaN
+Inf_plus * NaN : NaN
+Inf_plus * Inf_plus : Inf
+Inf_plus * Inf_min : -Inf
+Inf_plus * Inf : Inf
+Inf_plus * long_max : Inf
+Inf_plus * long_min : -Inf
+Inf_plus * int_max : Inf
+Inf_plus * int_min : -Inf
+Inf_plus * uint_max : Inf
+Inf_plus * ulong_max : Inf
+Inf_plus * double_min : Inf
+Inf_plus * double_max : Inf
+Inf_plus * float_min : Inf
+Inf_plus * float_max : Inf
+Inf_plus + zero_min : Inf
+Inf_plus + zero_plus : Inf
+Inf_plus + zero : Inf
+Inf_plus + NaN : NaN
+Inf_plus + Inf_plus : Inf
+Inf_plus + Inf_min : NaN
+Inf_plus + Inf : Inf
+Inf_plus + long_max : Inf
+Inf_plus + long_min : Inf
+Inf_plus + int_max : Inf
+Inf_plus + int_min : Inf
+Inf_plus + uint_max : Inf
+Inf_plus + ulong_max : Inf
+Inf_plus + double_min : Inf
+Inf_plus + double_max : Inf
+Inf_plus + float_min : Inf
+Inf_plus + float_max : Inf
+Inf_plus - zero_min : Inf
+Inf_plus - zero_plus : Inf
+Inf_plus - zero : Inf
+Inf_plus - NaN : NaN
+Inf_plus - Inf_plus : NaN
+Inf_plus - Inf_min : Inf
+Inf_plus - Inf : NaN
+Inf_plus - long_max : Inf
+Inf_plus - long_min : Inf
+Inf_plus - int_max : Inf
+Inf_plus - int_min : Inf
+Inf_plus - uint_max : Inf
+Inf_plus - ulong_max : Inf
+Inf_plus - double_min : Inf
+Inf_plus - double_max : Inf
+Inf_plus - float_min : Inf
+Inf_plus - float_max : Inf
+Inf_plus > zero_min : 0x1
+Inf_plus > zero_plus : 0x1
+Inf_plus > zero : 0x1
+Inf_plus > NaN : 0x0
+Inf_plus > Inf_plus : 0x0
+Inf_plus > Inf_min : 0x1
+Inf_plus > Inf : 0x0
+Inf_plus > long_max : 0x1
+Inf_plus > long_min : 0x1
+Inf_plus > int_max : 0x1
+Inf_plus > int_min : 0x1
+Inf_plus > uint_max : 0x1
+Inf_plus > ulong_max : 0x1
+Inf_plus > double_min : 0x1
+Inf_plus > double_max : 0x1
+Inf_plus > float_min : 0x1
+Inf_plus > float_max : 0x1
+Inf_plus < zero_min : 0x0
+Inf_plus < zero_plus : 0x0
+Inf_plus < zero : 0x0
+Inf_plus < NaN : 0x0
+Inf_plus < Inf_plus : 0x0
+Inf_plus < Inf_min : 0x0
+Inf_plus < Inf : 0x0
+Inf_plus < long_max : 0x0
+Inf_plus < long_min : 0x0
+Inf_plus < int_max : 0x0
+Inf_plus < int_min : 0x0
+Inf_plus < uint_max : 0x0
+Inf_plus < ulong_max : 0x0
+Inf_plus < double_min : 0x0
+Inf_plus < double_max : 0x0
+Inf_plus < float_min : 0x0
+Inf_plus < float_max : 0x0
+Inf_plus >= zero_min : 0x1
+Inf_plus >= zero_plus : 0x1
+Inf_plus >= zero : 0x1
+Inf_plus >= NaN : 0x0
+Inf_plus >= Inf_plus : 0x1
+Inf_plus >= Inf_min : 0x1
+Inf_plus >= Inf : 0x1
+Inf_plus >= long_max : 0x1
+Inf_plus >= long_min : 0x1
+Inf_plus >= int_max : 0x1
+Inf_plus >= int_min : 0x1
+Inf_plus >= uint_max : 0x1
+Inf_plus >= ulong_max : 0x1
+Inf_plus >= double_min : 0x1
+Inf_plus >= double_max : 0x1
+Inf_plus >= float_min : 0x1
+Inf_plus >= float_max : 0x1
+Inf_plus <= zero_min : 0x0
+Inf_plus <= zero_plus : 0x0
+Inf_plus <= zero : 0x0
+Inf_plus <= NaN : 0x0
+Inf_plus <= Inf_plus : 0x1
+Inf_plus <= Inf_min : 0x0
+Inf_plus <= Inf : 0x1
+Inf_plus <= long_max : 0x0
+Inf_plus <= long_min : 0x0
+Inf_plus <= int_max : 0x0
+Inf_plus <= int_min : 0x0
+Inf_plus <= uint_max : 0x0
+Inf_plus <= ulong_max : 0x0
+Inf_plus <= double_min : 0x0
+Inf_plus <= double_max : 0x0
+Inf_plus <= float_min : 0x0
+Inf_plus <= float_max : 0x0
+Inf_plus == zero_min : 0x0
+Inf_plus == zero_plus : 0x0
+Inf_plus == zero : 0x0
+Inf_plus == NaN : 0x0
+Inf_plus == Inf_plus : 0x1
+Inf_plus == Inf_min : 0x0
+Inf_plus == Inf : 0x1
+Inf_plus == long_max : 0x0
+Inf_plus == long_min : 0x0
+Inf_plus == int_max : 0x0
+Inf_plus == int_min : 0x0
+Inf_plus == uint_max : 0x0
+Inf_plus == ulong_max : 0x0
+Inf_plus == double_min : 0x0
+Inf_plus == double_max : 0x0
+Inf_plus == float_min : 0x0
+Inf_plus == float_max : 0x0
+Inf_plus != zero_min : 0x1
+Inf_plus != zero_plus : 0x1
+Inf_plus != zero : 0x1
+Inf_plus != NaN : 0x1
+Inf_plus != Inf_plus : 0x0
+Inf_plus != Inf_min : 0x1
+Inf_plus != Inf : 0x0
+Inf_plus != long_max : 0x1
+Inf_plus != long_min : 0x1
+Inf_plus != int_max : 0x1
+Inf_plus != int_min : 0x1
+Inf_plus != uint_max : 0x1
+Inf_plus != ulong_max : 0x1
+Inf_plus != double_min : 0x1
+Inf_plus != double_max : 0x1
+Inf_plus != float_min : 0x1
+Inf_plus != float_max : 0x1
+Inf_plus * Inf_plus * zero_min : NaN
+Inf_plus * Inf_plus * zero_plus : NaN
+Inf_plus * Inf_plus * zero : NaN
+Inf_plus * Inf_plus * NaN : NaN
+Inf_plus * Inf_plus * Inf_plus : Inf
+Inf_plus * Inf_plus * Inf_min : -Inf
+Inf_plus * Inf_plus * Inf : Inf
+Inf_plus * Inf_plus * long_max : Inf
+Inf_plus * Inf_plus * long_min : -Inf
+Inf_plus * Inf_plus * int_max : Inf
+Inf_plus * Inf_plus * int_min : -Inf
+Inf_plus * Inf_plus * uint_max : Inf
+Inf_plus * Inf_plus * ulong_max : Inf
+Inf_plus * Inf_plus * double_min : Inf
+Inf_plus * Inf_plus * double_max : Inf
+Inf_plus * Inf_plus * float_min : Inf
+Inf_plus * Inf_plus * float_max : Inf
+Inf_min / zero_min : Inf
+Inf_min / zero_plus : -Inf
+Inf_min / zero : -Inf
+Inf_min / NaN : NaN
+Inf_min / Inf_plus : NaN
+Inf_min / Inf_min : NaN
+Inf_min / Inf : NaN
+Inf_min / long_max : -Inf
+Inf_min / long_min : Inf
+Inf_min / int_max : -Inf
+Inf_min / int_min : Inf
+Inf_min / uint_max : -Inf
+Inf_min / ulong_max : -Inf
+Inf_min / double_min : -Inf
+Inf_min / double_max : -Inf
+Inf_min / float_min : -Inf
+Inf_min / float_max : -Inf
+Inf_min * zero_min : NaN
+Inf_min * zero_plus : NaN
+Inf_min * zero : NaN
+Inf_min * NaN : NaN
+Inf_min * Inf_plus : -Inf
+Inf_min * Inf_min : Inf
+Inf_min * Inf : -Inf
+Inf_min * long_max : -Inf
+Inf_min * long_min : Inf
+Inf_min * int_max : -Inf
+Inf_min * int_min : Inf
+Inf_min * uint_max : -Inf
+Inf_min * ulong_max : -Inf
+Inf_min * double_min : -Inf
+Inf_min * double_max : -Inf
+Inf_min * float_min : -Inf
+Inf_min * float_max : -Inf
+Inf_min + zero_min : -Inf
+Inf_min + zero_plus : -Inf
+Inf_min + zero : -Inf
+Inf_min + NaN : NaN
+Inf_min + Inf_plus : NaN
+Inf_min + Inf_min : -Inf
+Inf_min + Inf : NaN
+Inf_min + long_max : -Inf
+Inf_min + long_min : -Inf
+Inf_min + int_max : -Inf
+Inf_min + int_min : -Inf
+Inf_min + uint_max : -Inf
+Inf_min + ulong_max : -Inf
+Inf_min + double_min : -Inf
+Inf_min + double_max : -Inf
+Inf_min + float_min : -Inf
+Inf_min + float_max : -Inf
+Inf_min - zero_min : -Inf
+Inf_min - zero_plus : -Inf
+Inf_min - zero : -Inf
+Inf_min - NaN : NaN
+Inf_min - Inf_plus : -Inf
+Inf_min - Inf_min : NaN
+Inf_min - Inf : -Inf
+Inf_min - long_max : -Inf
+Inf_min - long_min : -Inf
+Inf_min - int_max : -Inf
+Inf_min - int_min : -Inf
+Inf_min - uint_max : -Inf
+Inf_min - ulong_max : -Inf
+Inf_min - double_min : -Inf
+Inf_min - double_max : -Inf
+Inf_min - float_min : -Inf
+Inf_min - float_max : -Inf
+Inf_min > zero_min : 0x0
+Inf_min > zero_plus : 0x0
+Inf_min > zero : 0x0
+Inf_min > NaN : 0x0
+Inf_min > Inf_plus : 0x0
+Inf_min > Inf_min : 0x0
+Inf_min > Inf : 0x0
+Inf_min > long_max : 0x0
+Inf_min > long_min : 0x0
+Inf_min > int_max : 0x0
+Inf_min > int_min : 0x0
+Inf_min > uint_max : 0x0
+Inf_min > ulong_max : 0x0
+Inf_min > double_min : 0x0
+Inf_min > double_max : 0x0
+Inf_min > float_min : 0x0
+Inf_min > float_max : 0x0
+Inf_min < zero_min : 0x1
+Inf_min < zero_plus : 0x1
+Inf_min < zero : 0x1
+Inf_min < NaN : 0x0
+Inf_min < Inf_plus : 0x1
+Inf_min < Inf_min : 0x0
+Inf_min < Inf : 0x1
+Inf_min < long_max : 0x1
+Inf_min < long_min : 0x1
+Inf_min < int_max : 0x1
+Inf_min < int_min : 0x1
+Inf_min < uint_max : 0x1
+Inf_min < ulong_max : 0x1
+Inf_min < double_min : 0x1
+Inf_min < double_max : 0x1
+Inf_min < float_min : 0x1
+Inf_min < float_max : 0x1
+Inf_min >= zero_min : 0x0
+Inf_min >= zero_plus : 0x0
+Inf_min >= zero : 0x0
+Inf_min >= NaN : 0x0
+Inf_min >= Inf_plus : 0x0
+Inf_min >= Inf_min : 0x1
+Inf_min >= Inf : 0x0
+Inf_min >= long_max : 0x0
+Inf_min >= long_min : 0x0
+Inf_min >= int_max : 0x0
+Inf_min >= int_min : 0x0
+Inf_min >= uint_max : 0x0
+Inf_min >= ulong_max : 0x0
+Inf_min >= double_min : 0x0
+Inf_min >= double_max : 0x0
+Inf_min >= float_min : 0x0
+Inf_min >= float_max : 0x0
+Inf_min <= zero_min : 0x1
+Inf_min <= zero_plus : 0x1
+Inf_min <= zero : 0x1
+Inf_min <= NaN : 0x0
+Inf_min <= Inf_plus : 0x1
+Inf_min <= Inf_min : 0x1
+Inf_min <= Inf : 0x1
+Inf_min <= long_max : 0x1
+Inf_min <= long_min : 0x1
+Inf_min <= int_max : 0x1
+Inf_min <= int_min : 0x1
+Inf_min <= uint_max : 0x1
+Inf_min <= ulong_max : 0x1
+Inf_min <= double_min : 0x1
+Inf_min <= double_max : 0x1
+Inf_min <= float_min : 0x1
+Inf_min <= float_max : 0x1
+Inf_min == zero_min : 0x0
+Inf_min == zero_plus : 0x0
+Inf_min == zero : 0x0
+Inf_min == NaN : 0x0
+Inf_min == Inf_plus : 0x0
+Inf_min == Inf_min : 0x1
+Inf_min == Inf : 0x0
+Inf_min == long_max : 0x0
+Inf_min == long_min : 0x0
+Inf_min == int_max : 0x0
+Inf_min == int_min : 0x0
+Inf_min == uint_max : 0x0
+Inf_min == ulong_max : 0x0
+Inf_min == double_min : 0x0
+Inf_min == double_max : 0x0
+Inf_min == float_min : 0x0
+Inf_min == float_max : 0x0
+Inf_min != zero_min : 0x1
+Inf_min != zero_plus : 0x1
+Inf_min != zero : 0x1
+Inf_min != NaN : 0x1
+Inf_min != Inf_plus : 0x1
+Inf_min != Inf_min : 0x0
+Inf_min != Inf : 0x1
+Inf_min != long_max : 0x1
+Inf_min != long_min : 0x1
+Inf_min != int_max : 0x1
+Inf_min != int_min : 0x1
+Inf_min != uint_max : 0x1
+Inf_min != ulong_max : 0x1
+Inf_min != double_min : 0x1
+Inf_min != double_max : 0x1
+Inf_min != float_min : 0x1
+Inf_min != float_max : 0x1
+Inf_min * Inf_min * zero_min : NaN
+Inf_min * Inf_min * zero_plus : NaN
+Inf_min * Inf_min * zero : NaN
+Inf_min * Inf_min * NaN : NaN
+Inf_min * Inf_min * Inf_plus : Inf
+Inf_min * Inf_min * Inf_min : -Inf
+Inf_min * Inf_min * Inf : Inf
+Inf_min * Inf_min * long_max : Inf
+Inf_min * Inf_min * long_min : -Inf
+Inf_min * Inf_min * int_max : Inf
+Inf_min * Inf_min * int_min : -Inf
+Inf_min * Inf_min * uint_max : Inf
+Inf_min * Inf_min * ulong_max : Inf
+Inf_min * Inf_min * double_min : Inf
+Inf_min * Inf_min * double_max : Inf
+Inf_min * Inf_min * float_min : Inf
+Inf_min * Inf_min * float_max : Inf
+Inf / zero_min : -Inf
+Inf / zero_plus : Inf
+Inf / zero : Inf
+Inf / NaN : NaN
+Inf / Inf_plus : NaN
+Inf / Inf_min : NaN
+Inf / Inf : NaN
+Inf / long_max : Inf
+Inf / long_min : -Inf
+Inf / int_max : Inf
+Inf / int_min : -Inf
+Inf / uint_max : Inf
+Inf / ulong_max : Inf
+Inf / double_min : Inf
+Inf / double_max : Inf
+Inf / float_min : Inf
+Inf / float_max : Inf
+Inf * zero_min : NaN
+Inf * zero_plus : NaN
+Inf * zero : NaN
+Inf * NaN : NaN
+Inf * Inf_plus : Inf
+Inf * Inf_min : -Inf
+Inf * Inf : Inf
+Inf * long_max : Inf
+Inf * long_min : -Inf
+Inf * int_max : Inf
+Inf * int_min : -Inf
+Inf * uint_max : Inf
+Inf * ulong_max : Inf
+Inf * double_min : Inf
+Inf * double_max : Inf
+Inf * float_min : Inf
+Inf * float_max : Inf
+Inf + zero_min : Inf
+Inf + zero_plus : Inf
+Inf + zero : Inf
+Inf + NaN : NaN
+Inf + Inf_plus : Inf
+Inf + Inf_min : NaN
+Inf + Inf : Inf
+Inf + long_max : Inf
+Inf + long_min : Inf
+Inf + int_max : Inf
+Inf + int_min : Inf
+Inf + uint_max : Inf
+Inf + ulong_max : Inf
+Inf + double_min : Inf
+Inf + double_max : Inf
+Inf + float_min : Inf
+Inf + float_max : Inf
+Inf - zero_min : Inf
+Inf - zero_plus : Inf
+Inf - zero : Inf
+Inf - NaN : NaN
+Inf - Inf_plus : NaN
+Inf - Inf_min : Inf
+Inf - Inf : NaN
+Inf - long_max : Inf
+Inf - long_min : Inf
+Inf - int_max : Inf
+Inf - int_min : Inf
+Inf - uint_max : Inf
+Inf - ulong_max : Inf
+Inf - double_min : Inf
+Inf - double_max : Inf
+Inf - float_min : Inf
+Inf - float_max : Inf
+Inf > zero_min : 0x1
+Inf > zero_plus : 0x1
+Inf > zero : 0x1
+Inf > NaN : 0x0
+Inf > Inf_plus : 0x0
+Inf > Inf_min : 0x1
+Inf > Inf : 0x0
+Inf > long_max : 0x1
+Inf > long_min : 0x1
+Inf > int_max : 0x1
+Inf > int_min : 0x1
+Inf > uint_max : 0x1
+Inf > ulong_max : 0x1
+Inf > double_min : 0x1
+Inf > double_max : 0x1
+Inf > float_min : 0x1
+Inf > float_max : 0x1
+Inf < zero_min : 0x0
+Inf < zero_plus : 0x0
+Inf < zero : 0x0
+Inf < NaN : 0x0
+Inf < Inf_plus : 0x0
+Inf < Inf_min : 0x0
+Inf < Inf : 0x0
+Inf < long_max : 0x0
+Inf < long_min : 0x0
+Inf < int_max : 0x0
+Inf < int_min : 0x0
+Inf < uint_max : 0x0
+Inf < ulong_max : 0x0
+Inf < double_min : 0x0
+Inf < double_max : 0x0
+Inf < float_min : 0x0
+Inf < float_max : 0x0
+Inf >= zero_min : 0x1
+Inf >= zero_plus : 0x1
+Inf >= zero : 0x1
+Inf >= NaN : 0x0
+Inf >= Inf_plus : 0x1
+Inf >= Inf_min : 0x1
+Inf >= Inf : 0x1
+Inf >= long_max : 0x1
+Inf >= long_min : 0x1
+Inf >= int_max : 0x1
+Inf >= int_min : 0x1
+Inf >= uint_max : 0x1
+Inf >= ulong_max : 0x1
+Inf >= double_min : 0x1
+Inf >= double_max : 0x1
+Inf >= float_min : 0x1
+Inf >= float_max : 0x1
+Inf <= zero_min : 0x0
+Inf <= zero_plus : 0x0
+Inf <= zero : 0x0
+Inf <= NaN : 0x0
+Inf <= Inf_plus : 0x1
+Inf <= Inf_min : 0x0
+Inf <= Inf : 0x1
+Inf <= long_max : 0x0
+Inf <= long_min : 0x0
+Inf <= int_max : 0x0
+Inf <= int_min : 0x0
+Inf <= uint_max : 0x0
+Inf <= ulong_max : 0x0
+Inf <= double_min : 0x0
+Inf <= double_max : 0x0
+Inf <= float_min : 0x0
+Inf <= float_max : 0x0
+Inf == zero_min : 0x0
+Inf == zero_plus : 0x0
+Inf == zero : 0x0
+Inf == NaN : 0x0
+Inf == Inf_plus : 0x1
+Inf == Inf_min : 0x0
+Inf == Inf : 0x1
+Inf == long_max : 0x0
+Inf == long_min : 0x0
+Inf == int_max : 0x0
+Inf == int_min : 0x0
+Inf == uint_max : 0x0
+Inf == ulong_max : 0x0
+Inf == double_min : 0x0
+Inf == double_max : 0x0
+Inf == float_min : 0x0
+Inf == float_max : 0x0
+Inf != zero_min : 0x1
+Inf != zero_plus : 0x1
+Inf != zero : 0x1
+Inf != NaN : 0x1
+Inf != Inf_plus : 0x0
+Inf != Inf_min : 0x1
+Inf != Inf : 0x0
+Inf != long_max : 0x1
+Inf != long_min : 0x1
+Inf != int_max : 0x1
+Inf != int_min : 0x1
+Inf != uint_max : 0x1
+Inf != ulong_max : 0x1
+Inf != double_min : 0x1
+Inf != double_max : 0x1
+Inf != float_min : 0x1
+Inf != float_max : 0x1
+Inf * Inf * zero_min : NaN
+Inf * Inf * zero_plus : NaN
+Inf * Inf * zero : NaN
+Inf * Inf * NaN : NaN
+Inf * Inf * Inf_plus : Inf
+Inf * Inf * Inf_min : -Inf
+Inf * Inf * Inf : Inf
+Inf * Inf * long_max : Inf
+Inf * Inf * long_min : -Inf
+Inf * Inf * int_max : Inf
+Inf * Inf * int_min : -Inf
+Inf * Inf * uint_max : Inf
+Inf * Inf * ulong_max : Inf
+Inf * Inf * double_min : Inf
+Inf * Inf * double_max : Inf
+Inf * Inf * float_min : Inf
+Inf * Inf * float_max : Inf
+****************** limits fx_float_long
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x7fffffff
+long_min : 0x8e+7
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+long_max / zero_min : -Inf
+long_max / zero_plus : Inf
+long_max / zero : Inf
+long_max / NaN : NaN
+long_max / Inf_plus : 0x0
+long_max / Inf_min : 0x0
+long_max / Inf : 0x0
+long_max / long_max : 0x1
+long_max / long_min : 0xf.00000002
+long_max / int_max : 0x1
+long_max / int_min : 0xf.00000002
+long_max / uint_max : 0x.7fffffff8
+long_max / ulong_max : 0x.7fffffff8
+long_max / double_min : Inf
+long_max / double_max : 0x.7fffffff000004e-248
+long_max / float_min : 0x1fffffffce+31
+long_max / float_max : 0x.08000007f00008e-23
+long_max * zero_min : 0x0
+long_max * zero_plus : 0x0
+long_max * zero : 0x0
+long_max * NaN : NaN
+long_max * Inf_plus : Inf
+long_max * Inf_min : -Inf
+long_max * Inf : Inf
+long_max * long_max : 0x3fffffffe+8
+long_max * long_min : 0xc00000008e+7
+long_max * int_max : 0x3fffffffe+8
+long_max * int_min : 0xc00000008e+7
+long_max * uint_max : 0x7ffffffe8e+7
+long_max * ulong_max : 0x7ffffffe8e+7
+long_max * double_min : 0x.1fffffffce-247
+long_max * double_max : Inf
+long_max * float_min : 0x.1fffffffce-23
+long_max * float_max : 0x7fffff7fe+32
+long_max + zero_min : 0x7fffffff
+long_max + zero_plus : 0x7fffffff
+long_max + zero : 0x7fffffff
+long_max + NaN : NaN
+long_max + Inf_plus : Inf
+long_max + Inf_min : -Inf
+long_max + Inf : Inf
+long_max + long_max : 0x0fffffffe
+long_max + long_min : 0xf
+long_max + int_max : 0x0fffffffe
+long_max + int_min : 0xf
+long_max + uint_max : 0x17ffffffe
+long_max + ulong_max : 0x17ffffffe
+long_max + double_min : 0x7fffffff
+long_max + double_max : 0x0fffffffffffff8e+242
+long_max + float_min : 0x7fffffff
+long_max + float_max : 0x0ffffffe+26
+long_max - zero_min : 0x7fffffff
+long_max - zero_plus : 0x7fffffff
+long_max - zero : 0x7fffffff
+long_max - NaN : NaN
+long_max - Inf_plus : -Inf
+long_max - Inf_min : Inf
+long_max - Inf : -Inf
+long_max - long_max : 0x0
+long_max - long_min : 0x0ffffffff
+long_max - int_max : 0x0
+long_max - int_min : 0x0ffffffff
+long_max - uint_max : 0x8e+7
+long_max - ulong_max : 0x8e+7
+long_max - double_min : 0x7fffffff
+long_max - double_max : 0xf00000000000008e+242
+long_max - float_min : 0x7fffffff
+long_max - float_max : 0xf000001e+26
+long_max > zero_min : 0x1
+long_max > zero_plus : 0x1
+long_max > zero : 0x1
+long_max > NaN : 0x0
+long_max > Inf_plus : 0x0
+long_max > Inf_min : 0x1
+long_max > Inf : 0x0
+long_max > long_max : 0x0
+long_max > long_min : 0x1
+long_max > int_max : 0x0
+long_max > int_min : 0x1
+long_max > uint_max : 0x0
+long_max > ulong_max : 0x0
+long_max > double_min : 0x1
+long_max > double_max : 0x0
+long_max > float_min : 0x1
+long_max > float_max : 0x0
+long_max < zero_min : 0x0
+long_max < zero_plus : 0x0
+long_max < zero : 0x0
+long_max < NaN : 0x0
+long_max < Inf_plus : 0x1
+long_max < Inf_min : 0x0
+long_max < Inf : 0x1
+long_max < long_max : 0x0
+long_max < long_min : 0x0
+long_max < int_max : 0x0
+long_max < int_min : 0x0
+long_max < uint_max : 0x1
+long_max < ulong_max : 0x1
+long_max < double_min : 0x0
+long_max < double_max : 0x1
+long_max < float_min : 0x0
+long_max < float_max : 0x1
+long_max >= zero_min : 0x1
+long_max >= zero_plus : 0x1
+long_max >= zero : 0x1
+long_max >= NaN : 0x0
+long_max >= Inf_plus : 0x0
+long_max >= Inf_min : 0x1
+long_max >= Inf : 0x0
+long_max >= long_max : 0x1
+long_max >= long_min : 0x1
+long_max >= int_max : 0x1
+long_max >= int_min : 0x1
+long_max >= uint_max : 0x0
+long_max >= ulong_max : 0x0
+long_max >= double_min : 0x1
+long_max >= double_max : 0x0
+long_max >= float_min : 0x1
+long_max >= float_max : 0x0
+long_max <= zero_min : 0x0
+long_max <= zero_plus : 0x0
+long_max <= zero : 0x0
+long_max <= NaN : 0x0
+long_max <= Inf_plus : 0x1
+long_max <= Inf_min : 0x0
+long_max <= Inf : 0x1
+long_max <= long_max : 0x1
+long_max <= long_min : 0x0
+long_max <= int_max : 0x1
+long_max <= int_min : 0x0
+long_max <= uint_max : 0x1
+long_max <= ulong_max : 0x1
+long_max <= double_min : 0x0
+long_max <= double_max : 0x1
+long_max <= float_min : 0x0
+long_max <= float_max : 0x1
+long_max == zero_min : 0x0
+long_max == zero_plus : 0x0
+long_max == zero : 0x0
+long_max == NaN : 0x0
+long_max == Inf_plus : 0x0
+long_max == Inf_min : 0x0
+long_max == Inf : 0x0
+long_max == long_max : 0x1
+long_max == long_min : 0x0
+long_max == int_max : 0x1
+long_max == int_min : 0x0
+long_max == uint_max : 0x0
+long_max == ulong_max : 0x0
+long_max == double_min : 0x0
+long_max == double_max : 0x0
+long_max == float_min : 0x0
+long_max == float_max : 0x0
+long_max != zero_min : 0x1
+long_max != zero_plus : 0x1
+long_max != zero : 0x1
+long_max != NaN : 0x1
+long_max != Inf_plus : 0x1
+long_max != Inf_min : 0x1
+long_max != Inf : 0x1
+long_max != long_max : 0x0
+long_max != long_min : 0x1
+long_max != int_max : 0x0
+long_max != int_min : 0x1
+long_max != uint_max : 0x1
+long_max != ulong_max : 0x1
+long_max != double_min : 0x1
+long_max != double_max : 0x1
+long_max != float_min : 0x1
+long_max != float_max : 0x1
+long_max * long_max * zero_min : 0x0
+long_max * long_max * zero_plus : 0x0
+long_max * long_max * zero : 0x0
+long_max * long_max * NaN : NaN
+long_max * long_max * Inf_plus : Inf
+long_max * long_max * Inf_min : -Inf
+long_max * long_max * Inf : Inf
+long_max * long_max * long_max : 0x1fffffff4e+15
+long_max * long_max * long_min : 0xe00000008e+15
+long_max * long_max * int_max : 0x1fffffff4e+15
+long_max * long_max * int_min : 0xe00000008e+15
+long_max * long_max * uint_max : 0x3ffffffece+15
+long_max * long_max * ulong_max : 0x3ffffffece+15
+long_max * long_max * double_min : 0x.0fffffffce-239
+long_max * long_max * double_max : Inf
+long_max * long_max * float_min : 0x.0fffffffce-15
+long_max * long_max * float_max : 0x3fffffbfe+40
+long_min / zero_min : Inf
+long_min / zero_plus : -Inf
+long_min / zero : -Inf
+long_min / NaN : NaN
+long_min / Inf_plus : 0x0
+long_min / Inf_min : 0x0
+long_min / Inf : 0x0
+long_min / long_max : 0xe.fffffffe
+long_min / long_min : 0x1
+long_min / int_max : 0xe.fffffffe
+long_min / int_min : 0x1
+long_min / uint_max : 0xf.7fffffff8
+long_min / ulong_max : 0xf.7fffffff8
+long_min / double_min : -Inf
+long_min / double_max : 0x.8e-248
+long_min / float_min : 0xee+39
+long_min / float_max : 0x.f7fffff7fffff8e-23
+long_min * zero_min : 0x0
+long_min * zero_plus : 0x0
+long_min * zero : 0x0
+long_min * NaN : NaN
+long_min * Inf_plus : -Inf
+long_min * Inf_min : Inf
+long_min * Inf : -Inf
+long_min * long_max : 0xc00000008e+7
+long_min * long_min : 0x4e+15
+long_min * int_max : 0xc00000008e+7
+long_min * int_min : 0x4e+15
+long_min * uint_max : 0x800000008e+7
+long_min * ulong_max : 0x800000008e+7
+long_min * double_min : 0x.ee-247
+long_min * double_max : -Inf
+long_min * float_min : 0x.ee-23
+long_min * float_max : 0x8000008e+33
+long_min + zero_min : 0x8e+7
+long_min + zero_plus : 0x8e+7
+long_min + zero : 0x8e+7
+long_min + NaN : NaN
+long_min + Inf_plus : Inf
+long_min + Inf_min : -Inf
+long_min + Inf : Inf
+long_min + long_max : 0xf
+long_min + long_min : 0xfe+8
+long_min + int_max : 0xf
+long_min + int_min : 0xfe+8
+long_min + uint_max : 0x7fffffff
+long_min + ulong_max : 0x7fffffff
+long_min + double_min : 0x8e+7
+long_min + double_max : 0x0fffffffffffff8e+242
+long_min + float_min : 0x8e+7
+long_min + float_max : 0x0ffffffe+26
+long_min - zero_min : 0x8e+7
+long_min - zero_plus : 0x8e+7
+long_min - zero : 0x8e+7
+long_min - NaN : NaN
+long_min - Inf_plus : -Inf
+long_min - Inf_min : Inf
+long_min - Inf : -Inf
+long_min - long_max : 0xf00000001
+long_min - long_min : 0x0
+long_min - int_max : 0xf00000001
+long_min - int_min : 0x0
+long_min - uint_max : 0xe80000001
+long_min - ulong_max : 0xe80000001
+long_min - double_min : 0x8e+7
+long_min - double_max : 0xf00000000000008e+242
+long_min - float_min : 0x8e+7
+long_min - float_max : 0xf000001e+26
+long_min > zero_min : 0x0
+long_min > zero_plus : 0x0
+long_min > zero : 0x0
+long_min > NaN : 0x0
+long_min > Inf_plus : 0x0
+long_min > Inf_min : 0x1
+long_min > Inf : 0x0
+long_min > long_max : 0x0
+long_min > long_min : 0x0
+long_min > int_max : 0x0
+long_min > int_min : 0x0
+long_min > uint_max : 0x0
+long_min > ulong_max : 0x0
+long_min > double_min : 0x0
+long_min > double_max : 0x0
+long_min > float_min : 0x0
+long_min > float_max : 0x0
+long_min < zero_min : 0x1
+long_min < zero_plus : 0x1
+long_min < zero : 0x1
+long_min < NaN : 0x0
+long_min < Inf_plus : 0x1
+long_min < Inf_min : 0x0
+long_min < Inf : 0x1
+long_min < long_max : 0x1
+long_min < long_min : 0x0
+long_min < int_max : 0x1
+long_min < int_min : 0x0
+long_min < uint_max : 0x1
+long_min < ulong_max : 0x1
+long_min < double_min : 0x1
+long_min < double_max : 0x1
+long_min < float_min : 0x1
+long_min < float_max : 0x1
+long_min >= zero_min : 0x0
+long_min >= zero_plus : 0x0
+long_min >= zero : 0x0
+long_min >= NaN : 0x0
+long_min >= Inf_plus : 0x0
+long_min >= Inf_min : 0x1
+long_min >= Inf : 0x0
+long_min >= long_max : 0x0
+long_min >= long_min : 0x1
+long_min >= int_max : 0x0
+long_min >= int_min : 0x1
+long_min >= uint_max : 0x0
+long_min >= ulong_max : 0x0
+long_min >= double_min : 0x0
+long_min >= double_max : 0x0
+long_min >= float_min : 0x0
+long_min >= float_max : 0x0
+long_min <= zero_min : 0x1
+long_min <= zero_plus : 0x1
+long_min <= zero : 0x1
+long_min <= NaN : 0x0
+long_min <= Inf_plus : 0x1
+long_min <= Inf_min : 0x0
+long_min <= Inf : 0x1
+long_min <= long_max : 0x1
+long_min <= long_min : 0x1
+long_min <= int_max : 0x1
+long_min <= int_min : 0x1
+long_min <= uint_max : 0x1
+long_min <= ulong_max : 0x1
+long_min <= double_min : 0x1
+long_min <= double_max : 0x1
+long_min <= float_min : 0x1
+long_min <= float_max : 0x1
+long_min == zero_min : 0x0
+long_min == zero_plus : 0x0
+long_min == zero : 0x0
+long_min == NaN : 0x0
+long_min == Inf_plus : 0x0
+long_min == Inf_min : 0x0
+long_min == Inf : 0x0
+long_min == long_max : 0x0
+long_min == long_min : 0x1
+long_min == int_max : 0x0
+long_min == int_min : 0x1
+long_min == uint_max : 0x0
+long_min == ulong_max : 0x0
+long_min == double_min : 0x0
+long_min == double_max : 0x0
+long_min == float_min : 0x0
+long_min == float_max : 0x0
+long_min != zero_min : 0x1
+long_min != zero_plus : 0x1
+long_min != zero : 0x1
+long_min != NaN : 0x1
+long_min != Inf_plus : 0x1
+long_min != Inf_min : 0x1
+long_min != Inf : 0x1
+long_min != long_max : 0x1
+long_min != long_min : 0x0
+long_min != int_max : 0x1
+long_min != int_min : 0x0
+long_min != uint_max : 0x1
+long_min != ulong_max : 0x1
+long_min != double_min : 0x1
+long_min != double_max : 0x1
+long_min != float_min : 0x1
+long_min != float_max : 0x1
+long_min * long_min * zero_min : 0x0
+long_min * long_min * zero_plus : 0x0
+long_min * long_min * zero : 0x0
+long_min * long_min * NaN : NaN
+long_min * long_min * Inf_plus : Inf
+long_min * long_min * Inf_min : -Inf
+long_min * long_min * Inf : Inf
+long_min * long_min * long_max : 0x1fffffffce+15
+long_min * long_min * long_min : 0xee+23
+long_min * long_min * int_max : 0x1fffffffce+15
+long_min * long_min * int_min : 0xee+23
+long_min * long_min * uint_max : 0x3fffffffce+15
+long_min * long_min * ulong_max : 0x3fffffffce+15
+long_min * long_min * double_min : 0x.1e-239
+long_min * long_min * double_max : Inf
+long_min * long_min * float_min : 0x.1e-15
+long_min * long_min * float_max : 0x3fffffce+41
+int_max / zero_min : -Inf
+int_max / zero_plus : Inf
+int_max / zero : Inf
+int_max / NaN : NaN
+int_max / Inf_plus : 0x0
+int_max / Inf_min : 0x0
+int_max / Inf : 0x0
+int_max / long_max : 0x1
+int_max / long_min : 0xf.00000002
+int_max / int_max : 0x1
+int_max / int_min : 0xf.00000002
+int_max / uint_max : 0x.7fffffff8
+int_max / ulong_max : 0x.7fffffff8
+int_max / double_min : Inf
+int_max / double_max : 0x.7fffffff000004e-248
+int_max / float_min : 0x1fffffffce+31
+int_max / float_max : 0x.08000007f00008e-23
+int_max * zero_min : 0x0
+int_max * zero_plus : 0x0
+int_max * zero : 0x0
+int_max * NaN : NaN
+int_max * Inf_plus : Inf
+int_max * Inf_min : -Inf
+int_max * Inf : Inf
+int_max * long_max : 0x3fffffffe+8
+int_max * long_min : 0xc00000008e+7
+int_max * int_max : 0x3fffffffe+8
+int_max * int_min : 0xc00000008e+7
+int_max * uint_max : 0x7ffffffe8e+7
+int_max * ulong_max : 0x7ffffffe8e+7
+int_max * double_min : 0x.1fffffffce-247
+int_max * double_max : Inf
+int_max * float_min : 0x.1fffffffce-23
+int_max * float_max : 0x7fffff7fe+32
+int_max + zero_min : 0x7fffffff
+int_max + zero_plus : 0x7fffffff
+int_max + zero : 0x7fffffff
+int_max + NaN : NaN
+int_max + Inf_plus : Inf
+int_max + Inf_min : -Inf
+int_max + Inf : Inf
+int_max + long_max : 0x0fffffffe
+int_max + long_min : 0xf
+int_max + int_max : 0x0fffffffe
+int_max + int_min : 0xf
+int_max + uint_max : 0x17ffffffe
+int_max + ulong_max : 0x17ffffffe
+int_max + double_min : 0x7fffffff
+int_max + double_max : 0x0fffffffffffff8e+242
+int_max + float_min : 0x7fffffff
+int_max + float_max : 0x0ffffffe+26
+int_max - zero_min : 0x7fffffff
+int_max - zero_plus : 0x7fffffff
+int_max - zero : 0x7fffffff
+int_max - NaN : NaN
+int_max - Inf_plus : -Inf
+int_max - Inf_min : Inf
+int_max - Inf : -Inf
+int_max - long_max : 0x0
+int_max - long_min : 0x0ffffffff
+int_max - int_max : 0x0
+int_max - int_min : 0x0ffffffff
+int_max - uint_max : 0x8e+7
+int_max - ulong_max : 0x8e+7
+int_max - double_min : 0x7fffffff
+int_max - double_max : 0xf00000000000008e+242
+int_max - float_min : 0x7fffffff
+int_max - float_max : 0xf000001e+26
+int_max > zero_min : 0x1
+int_max > zero_plus : 0x1
+int_max > zero : 0x1
+int_max > NaN : 0x0
+int_max > Inf_plus : 0x0
+int_max > Inf_min : 0x1
+int_max > Inf : 0x0
+int_max > long_max : 0x0
+int_max > long_min : 0x1
+int_max > int_max : 0x0
+int_max > int_min : 0x1
+int_max > uint_max : 0x0
+int_max > ulong_max : 0x0
+int_max > double_min : 0x1
+int_max > double_max : 0x0
+int_max > float_min : 0x1
+int_max > float_max : 0x0
+int_max < zero_min : 0x0
+int_max < zero_plus : 0x0
+int_max < zero : 0x0
+int_max < NaN : 0x0
+int_max < Inf_plus : 0x1
+int_max < Inf_min : 0x0
+int_max < Inf : 0x1
+int_max < long_max : 0x0
+int_max < long_min : 0x0
+int_max < int_max : 0x0
+int_max < int_min : 0x0
+int_max < uint_max : 0x1
+int_max < ulong_max : 0x1
+int_max < double_min : 0x0
+int_max < double_max : 0x1
+int_max < float_min : 0x0
+int_max < float_max : 0x1
+int_max >= zero_min : 0x1
+int_max >= zero_plus : 0x1
+int_max >= zero : 0x1
+int_max >= NaN : 0x0
+int_max >= Inf_plus : 0x0
+int_max >= Inf_min : 0x1
+int_max >= Inf : 0x0
+int_max >= long_max : 0x1
+int_max >= long_min : 0x1
+int_max >= int_max : 0x1
+int_max >= int_min : 0x1
+int_max >= uint_max : 0x0
+int_max >= ulong_max : 0x0
+int_max >= double_min : 0x1
+int_max >= double_max : 0x0
+int_max >= float_min : 0x1
+int_max >= float_max : 0x0
+int_max <= zero_min : 0x0
+int_max <= zero_plus : 0x0
+int_max <= zero : 0x0
+int_max <= NaN : 0x0
+int_max <= Inf_plus : 0x1
+int_max <= Inf_min : 0x0
+int_max <= Inf : 0x1
+int_max <= long_max : 0x1
+int_max <= long_min : 0x0
+int_max <= int_max : 0x1
+int_max <= int_min : 0x0
+int_max <= uint_max : 0x1
+int_max <= ulong_max : 0x1
+int_max <= double_min : 0x0
+int_max <= double_max : 0x1
+int_max <= float_min : 0x0
+int_max <= float_max : 0x1
+int_max == zero_min : 0x0
+int_max == zero_plus : 0x0
+int_max == zero : 0x0
+int_max == NaN : 0x0
+int_max == Inf_plus : 0x0
+int_max == Inf_min : 0x0
+int_max == Inf : 0x0
+int_max == long_max : 0x1
+int_max == long_min : 0x0
+int_max == int_max : 0x1
+int_max == int_min : 0x0
+int_max == uint_max : 0x0
+int_max == ulong_max : 0x0
+int_max == double_min : 0x0
+int_max == double_max : 0x0
+int_max == float_min : 0x0
+int_max == float_max : 0x0
+int_max != zero_min : 0x1
+int_max != zero_plus : 0x1
+int_max != zero : 0x1
+int_max != NaN : 0x1
+int_max != Inf_plus : 0x1
+int_max != Inf_min : 0x1
+int_max != Inf : 0x1
+int_max != long_max : 0x0
+int_max != long_min : 0x1
+int_max != int_max : 0x0
+int_max != int_min : 0x1
+int_max != uint_max : 0x1
+int_max != ulong_max : 0x1
+int_max != double_min : 0x1
+int_max != double_max : 0x1
+int_max != float_min : 0x1
+int_max != float_max : 0x1
+int_max * int_max * zero_min : 0x0
+int_max * int_max * zero_plus : 0x0
+int_max * int_max * zero : 0x0
+int_max * int_max * NaN : NaN
+int_max * int_max * Inf_plus : Inf
+int_max * int_max * Inf_min : -Inf
+int_max * int_max * Inf : Inf
+int_max * int_max * long_max : 0x1fffffff4e+15
+int_max * int_max * long_min : 0xe00000008e+15
+int_max * int_max * int_max : 0x1fffffff4e+15
+int_max * int_max * int_min : 0xe00000008e+15
+int_max * int_max * uint_max : 0x3ffffffece+15
+int_max * int_max * ulong_max : 0x3ffffffece+15
+int_max * int_max * double_min : 0x.0fffffffce-239
+int_max * int_max * double_max : Inf
+int_max * int_max * float_min : 0x.0fffffffce-15
+int_max * int_max * float_max : 0x3fffffbfe+40
+int_min / zero_min : Inf
+int_min / zero_plus : -Inf
+int_min / zero : -Inf
+int_min / NaN : NaN
+int_min / Inf_plus : 0x0
+int_min / Inf_min : 0x0
+int_min / Inf : 0x0
+int_min / long_max : 0xe.fffffffe
+int_min / long_min : 0x1
+int_min / int_max : 0xe.fffffffe
+int_min / int_min : 0x1
+int_min / uint_max : 0xf.7fffffff8
+int_min / ulong_max : 0xf.7fffffff8
+int_min / double_min : -Inf
+int_min / double_max : 0x.8e-248
+int_min / float_min : 0xee+39
+int_min / float_max : 0x.f7fffff7fffff8e-23
+int_min * zero_min : 0x0
+int_min * zero_plus : 0x0
+int_min * zero : 0x0
+int_min * NaN : NaN
+int_min * Inf_plus : -Inf
+int_min * Inf_min : Inf
+int_min * Inf : -Inf
+int_min * long_max : 0xc00000008e+7
+int_min * long_min : 0x4e+15
+int_min * int_max : 0xc00000008e+7
+int_min * int_min : 0x4e+15
+int_min * uint_max : 0x800000008e+7
+int_min * ulong_max : 0x800000008e+7
+int_min * double_min : 0x.ee-247
+int_min * double_max : -Inf
+int_min * float_min : 0x.ee-23
+int_min * float_max : 0x8000008e+33
+int_min + zero_min : 0x8e+7
+int_min + zero_plus : 0x8e+7
+int_min + zero : 0x8e+7
+int_min + NaN : NaN
+int_min + Inf_plus : Inf
+int_min + Inf_min : -Inf
+int_min + Inf : Inf
+int_min + long_max : 0xf
+int_min + long_min : 0xfe+8
+int_min + int_max : 0xf
+int_min + int_min : 0xfe+8
+int_min + uint_max : 0x7fffffff
+int_min + ulong_max : 0x7fffffff
+int_min + double_min : 0x8e+7
+int_min + double_max : 0x0fffffffffffff8e+242
+int_min + float_min : 0x8e+7
+int_min + float_max : 0x0ffffffe+26
+int_min - zero_min : 0x8e+7
+int_min - zero_plus : 0x8e+7
+int_min - zero : 0x8e+7
+int_min - NaN : NaN
+int_min - Inf_plus : -Inf
+int_min - Inf_min : Inf
+int_min - Inf : -Inf
+int_min - long_max : 0xf00000001
+int_min - long_min : 0x0
+int_min - int_max : 0xf00000001
+int_min - int_min : 0x0
+int_min - uint_max : 0xe80000001
+int_min - ulong_max : 0xe80000001
+int_min - double_min : 0x8e+7
+int_min - double_max : 0xf00000000000008e+242
+int_min - float_min : 0x8e+7
+int_min - float_max : 0xf000001e+26
+int_min > zero_min : 0x0
+int_min > zero_plus : 0x0
+int_min > zero : 0x0
+int_min > NaN : 0x0
+int_min > Inf_plus : 0x0
+int_min > Inf_min : 0x1
+int_min > Inf : 0x0
+int_min > long_max : 0x0
+int_min > long_min : 0x0
+int_min > int_max : 0x0
+int_min > int_min : 0x0
+int_min > uint_max : 0x0
+int_min > ulong_max : 0x0
+int_min > double_min : 0x0
+int_min > double_max : 0x0
+int_min > float_min : 0x0
+int_min > float_max : 0x0
+int_min < zero_min : 0x1
+int_min < zero_plus : 0x1
+int_min < zero : 0x1
+int_min < NaN : 0x0
+int_min < Inf_plus : 0x1
+int_min < Inf_min : 0x0
+int_min < Inf : 0x1
+int_min < long_max : 0x1
+int_min < long_min : 0x0
+int_min < int_max : 0x1
+int_min < int_min : 0x0
+int_min < uint_max : 0x1
+int_min < ulong_max : 0x1
+int_min < double_min : 0x1
+int_min < double_max : 0x1
+int_min < float_min : 0x1
+int_min < float_max : 0x1
+int_min >= zero_min : 0x0
+int_min >= zero_plus : 0x0
+int_min >= zero : 0x0
+int_min >= NaN : 0x0
+int_min >= Inf_plus : 0x0
+int_min >= Inf_min : 0x1
+int_min >= Inf : 0x0
+int_min >= long_max : 0x0
+int_min >= long_min : 0x1
+int_min >= int_max : 0x0
+int_min >= int_min : 0x1
+int_min >= uint_max : 0x0
+int_min >= ulong_max : 0x0
+int_min >= double_min : 0x0
+int_min >= double_max : 0x0
+int_min >= float_min : 0x0
+int_min >= float_max : 0x0
+int_min <= zero_min : 0x1
+int_min <= zero_plus : 0x1
+int_min <= zero : 0x1
+int_min <= NaN : 0x0
+int_min <= Inf_plus : 0x1
+int_min <= Inf_min : 0x0
+int_min <= Inf : 0x1
+int_min <= long_max : 0x1
+int_min <= long_min : 0x1
+int_min <= int_max : 0x1
+int_min <= int_min : 0x1
+int_min <= uint_max : 0x1
+int_min <= ulong_max : 0x1
+int_min <= double_min : 0x1
+int_min <= double_max : 0x1
+int_min <= float_min : 0x1
+int_min <= float_max : 0x1
+int_min == zero_min : 0x0
+int_min == zero_plus : 0x0
+int_min == zero : 0x0
+int_min == NaN : 0x0
+int_min == Inf_plus : 0x0
+int_min == Inf_min : 0x0
+int_min == Inf : 0x0
+int_min == long_max : 0x0
+int_min == long_min : 0x1
+int_min == int_max : 0x0
+int_min == int_min : 0x1
+int_min == uint_max : 0x0
+int_min == ulong_max : 0x0
+int_min == double_min : 0x0
+int_min == double_max : 0x0
+int_min == float_min : 0x0
+int_min == float_max : 0x0
+int_min != zero_min : 0x1
+int_min != zero_plus : 0x1
+int_min != zero : 0x1
+int_min != NaN : 0x1
+int_min != Inf_plus : 0x1
+int_min != Inf_min : 0x1
+int_min != Inf : 0x1
+int_min != long_max : 0x1
+int_min != long_min : 0x0
+int_min != int_max : 0x1
+int_min != int_min : 0x0
+int_min != uint_max : 0x1
+int_min != ulong_max : 0x1
+int_min != double_min : 0x1
+int_min != double_max : 0x1
+int_min != float_min : 0x1
+int_min != float_max : 0x1
+int_min * int_min * zero_min : 0x0
+int_min * int_min * zero_plus : 0x0
+int_min * int_min * zero : 0x0
+int_min * int_min * NaN : NaN
+int_min * int_min * Inf_plus : Inf
+int_min * int_min * Inf_min : -Inf
+int_min * int_min * Inf : Inf
+int_min * int_min * long_max : 0x1fffffffce+15
+int_min * int_min * long_min : 0xee+23
+int_min * int_min * int_max : 0x1fffffffce+15
+int_min * int_min * int_min : 0xee+23
+int_min * int_min * uint_max : 0x3fffffffce+15
+int_min * int_min * ulong_max : 0x3fffffffce+15
+int_min * int_min * double_min : 0x.1e-239
+int_min * int_min * double_max : Inf
+int_min * int_min * float_min : 0x.1e-15
+int_min * int_min * float_max : 0x3fffffce+41
+uint_max / zero_min : -Inf
+uint_max / zero_plus : Inf
+uint_max / zero : Inf
+uint_max / NaN : NaN
+uint_max / Inf_plus : 0x0
+uint_max / Inf_min : 0x0
+uint_max / Inf : 0x0
+uint_max / long_max : 0x2.00000002
+uint_max / long_min : 0xe.00000002
+uint_max / int_max : 0x2.00000002
+uint_max / int_min : 0xe.00000002
+uint_max / uint_max : 0x1
+uint_max / ulong_max : 0x1
+uint_max / double_min : Inf
+uint_max / double_max : 0x.0ffffffff000008e-247
+uint_max / float_min : 0x3fffffffce+31
+uint_max / float_max : 0x.1000000ff0001e-23
+uint_max * zero_min : 0x0
+uint_max * zero_plus : 0x0
+uint_max * zero : 0x0
+uint_max * NaN : NaN
+uint_max * Inf_plus : Inf
+uint_max * Inf_min : -Inf
+uint_max * Inf : Inf
+uint_max * long_max : 0x7ffffffe8e+7
+uint_max * long_min : 0x800000008e+7
+uint_max * int_max : 0x7ffffffe8e+7
+uint_max * int_min : 0x800000008e+7
+uint_max * uint_max : 0x0fffffffee+8
+uint_max * ulong_max : 0x0fffffffee+8
+uint_max * double_min : 0x.3fffffffce-247
+uint_max * double_max : Inf
+uint_max * float_min : 0x.3fffffffce-23
+uint_max * float_max : 0x0fffffeffe+32
+uint_max + zero_min : 0x0ffffffff
+uint_max + zero_plus : 0x0ffffffff
+uint_max + zero : 0x0ffffffff
+uint_max + NaN : NaN
+uint_max + Inf_plus : Inf
+uint_max + Inf_min : -Inf
+uint_max + Inf : Inf
+uint_max + long_max : 0x17ffffffe
+uint_max + long_min : 0x7fffffff
+uint_max + int_max : 0x17ffffffe
+uint_max + int_min : 0x7fffffff
+uint_max + uint_max : 0x1fffffffe
+uint_max + ulong_max : 0x1fffffffe
+uint_max + double_min : 0x0ffffffff
+uint_max + double_max : 0x0fffffffffffff8e+242
+uint_max + float_min : 0x0ffffffff
+uint_max + float_max : 0x0ffffffe+26
+uint_max - zero_min : 0x0ffffffff
+uint_max - zero_plus : 0x0ffffffff
+uint_max - zero : 0x0ffffffff
+uint_max - NaN : NaN
+uint_max - Inf_plus : -Inf
+uint_max - Inf_min : Inf
+uint_max - Inf : -Inf
+uint_max - long_max : 0x08e+7
+uint_max - long_min : 0x17fffffff
+uint_max - int_max : 0x08e+7
+uint_max - int_min : 0x17fffffff
+uint_max - uint_max : 0x0
+uint_max - ulong_max : 0x0
+uint_max - double_min : 0x0ffffffff
+uint_max - double_max : 0xf00000000000008e+242
+uint_max - float_min : 0x0ffffffff
+uint_max - float_max : 0xf000001e+26
+uint_max > zero_min : 0x1
+uint_max > zero_plus : 0x1
+uint_max > zero : 0x1
+uint_max > NaN : 0x0
+uint_max > Inf_plus : 0x0
+uint_max > Inf_min : 0x1
+uint_max > Inf : 0x0
+uint_max > long_max : 0x1
+uint_max > long_min : 0x1
+uint_max > int_max : 0x1
+uint_max > int_min : 0x1
+uint_max > uint_max : 0x0
+uint_max > ulong_max : 0x0
+uint_max > double_min : 0x1
+uint_max > double_max : 0x0
+uint_max > float_min : 0x1
+uint_max > float_max : 0x0
+uint_max < zero_min : 0x0
+uint_max < zero_plus : 0x0
+uint_max < zero : 0x0
+uint_max < NaN : 0x0
+uint_max < Inf_plus : 0x1
+uint_max < Inf_min : 0x0
+uint_max < Inf : 0x1
+uint_max < long_max : 0x0
+uint_max < long_min : 0x0
+uint_max < int_max : 0x0
+uint_max < int_min : 0x0
+uint_max < uint_max : 0x0
+uint_max < ulong_max : 0x0
+uint_max < double_min : 0x0
+uint_max < double_max : 0x1
+uint_max < float_min : 0x0
+uint_max < float_max : 0x1
+uint_max >= zero_min : 0x1
+uint_max >= zero_plus : 0x1
+uint_max >= zero : 0x1
+uint_max >= NaN : 0x0
+uint_max >= Inf_plus : 0x0
+uint_max >= Inf_min : 0x1
+uint_max >= Inf : 0x0
+uint_max >= long_max : 0x1
+uint_max >= long_min : 0x1
+uint_max >= int_max : 0x1
+uint_max >= int_min : 0x1
+uint_max >= uint_max : 0x1
+uint_max >= ulong_max : 0x1
+uint_max >= double_min : 0x1
+uint_max >= double_max : 0x0
+uint_max >= float_min : 0x1
+uint_max >= float_max : 0x0
+uint_max <= zero_min : 0x0
+uint_max <= zero_plus : 0x0
+uint_max <= zero : 0x0
+uint_max <= NaN : 0x0
+uint_max <= Inf_plus : 0x1
+uint_max <= Inf_min : 0x0
+uint_max <= Inf : 0x1
+uint_max <= long_max : 0x0
+uint_max <= long_min : 0x0
+uint_max <= int_max : 0x0
+uint_max <= int_min : 0x0
+uint_max <= uint_max : 0x1
+uint_max <= ulong_max : 0x1
+uint_max <= double_min : 0x0
+uint_max <= double_max : 0x1
+uint_max <= float_min : 0x0
+uint_max <= float_max : 0x1
+uint_max == zero_min : 0x0
+uint_max == zero_plus : 0x0
+uint_max == zero : 0x0
+uint_max == NaN : 0x0
+uint_max == Inf_plus : 0x0
+uint_max == Inf_min : 0x0
+uint_max == Inf : 0x0
+uint_max == long_max : 0x0
+uint_max == long_min : 0x0
+uint_max == int_max : 0x0
+uint_max == int_min : 0x0
+uint_max == uint_max : 0x1
+uint_max == ulong_max : 0x1
+uint_max == double_min : 0x0
+uint_max == double_max : 0x0
+uint_max == float_min : 0x0
+uint_max == float_max : 0x0
+uint_max != zero_min : 0x1
+uint_max != zero_plus : 0x1
+uint_max != zero : 0x1
+uint_max != NaN : 0x1
+uint_max != Inf_plus : 0x1
+uint_max != Inf_min : 0x1
+uint_max != Inf : 0x1
+uint_max != long_max : 0x1
+uint_max != long_min : 0x1
+uint_max != int_max : 0x1
+uint_max != int_min : 0x1
+uint_max != uint_max : 0x0
+uint_max != ulong_max : 0x0
+uint_max != double_min : 0x1
+uint_max != double_max : 0x1
+uint_max != float_min : 0x1
+uint_max != float_max : 0x1
+uint_max * uint_max * zero_min : 0x0
+uint_max * uint_max * zero_plus : 0x0
+uint_max * uint_max * zero : 0x0
+uint_max * uint_max * NaN : NaN
+uint_max * uint_max * Inf_plus : Inf
+uint_max * uint_max * Inf_min : -Inf
+uint_max * uint_max * Inf : Inf
+uint_max * uint_max * long_max : 0x7ffffffee+16
+uint_max * uint_max * long_min : 0x80000001e+16
+uint_max * uint_max * int_max : 0x7ffffffee+16
+uint_max * uint_max * int_min : 0x80000001e+16
+uint_max * uint_max * uint_max : 0x0fffffffde+16
+uint_max * uint_max * ulong_max : 0x0fffffffde+16
+uint_max * uint_max * double_min : 0x.3fffffff8e-239
+uint_max * uint_max * double_max : Inf
+uint_max * uint_max * float_min : 0x.3fffffff8e-15
+uint_max * uint_max * float_max : 0x0fffffefee+40
+ulong_max / zero_min : -Inf
+ulong_max / zero_plus : Inf
+ulong_max / zero : Inf
+ulong_max / NaN : NaN
+ulong_max / Inf_plus : 0x0
+ulong_max / Inf_min : 0x0
+ulong_max / Inf : 0x0
+ulong_max / long_max : 0x2.00000002
+ulong_max / long_min : 0xe.00000002
+ulong_max / int_max : 0x2.00000002
+ulong_max / int_min : 0xe.00000002
+ulong_max / uint_max : 0x1
+ulong_max / ulong_max : 0x1
+ulong_max / double_min : Inf
+ulong_max / double_max : 0x.0ffffffff000008e-247
+ulong_max / float_min : 0x3fffffffce+31
+ulong_max / float_max : 0x.1000000ff0001e-23
+ulong_max * zero_min : 0x0
+ulong_max * zero_plus : 0x0
+ulong_max * zero : 0x0
+ulong_max * NaN : NaN
+ulong_max * Inf_plus : Inf
+ulong_max * Inf_min : -Inf
+ulong_max * Inf : Inf
+ulong_max * long_max : 0x7ffffffe8e+7
+ulong_max * long_min : 0x800000008e+7
+ulong_max * int_max : 0x7ffffffe8e+7
+ulong_max * int_min : 0x800000008e+7
+ulong_max * uint_max : 0x0fffffffee+8
+ulong_max * ulong_max : 0x0fffffffee+8
+ulong_max * double_min : 0x.3fffffffce-247
+ulong_max * double_max : Inf
+ulong_max * float_min : 0x.3fffffffce-23
+ulong_max * float_max : 0x0fffffeffe+32
+ulong_max + zero_min : 0x0ffffffff
+ulong_max + zero_plus : 0x0ffffffff
+ulong_max + zero : 0x0ffffffff
+ulong_max + NaN : NaN
+ulong_max + Inf_plus : Inf
+ulong_max + Inf_min : -Inf
+ulong_max + Inf : Inf
+ulong_max + long_max : 0x17ffffffe
+ulong_max + long_min : 0x7fffffff
+ulong_max + int_max : 0x17ffffffe
+ulong_max + int_min : 0x7fffffff
+ulong_max + uint_max : 0x1fffffffe
+ulong_max + ulong_max : 0x1fffffffe
+ulong_max + double_min : 0x0ffffffff
+ulong_max + double_max : 0x0fffffffffffff8e+242
+ulong_max + float_min : 0x0ffffffff
+ulong_max + float_max : 0x0ffffffe+26
+ulong_max - zero_min : 0x0ffffffff
+ulong_max - zero_plus : 0x0ffffffff
+ulong_max - zero : 0x0ffffffff
+ulong_max - NaN : NaN
+ulong_max - Inf_plus : -Inf
+ulong_max - Inf_min : Inf
+ulong_max - Inf : -Inf
+ulong_max - long_max : 0x08e+7
+ulong_max - long_min : 0x17fffffff
+ulong_max - int_max : 0x08e+7
+ulong_max - int_min : 0x17fffffff
+ulong_max - uint_max : 0x0
+ulong_max - ulong_max : 0x0
+ulong_max - double_min : 0x0ffffffff
+ulong_max - double_max : 0xf00000000000008e+242
+ulong_max - float_min : 0x0ffffffff
+ulong_max - float_max : 0xf000001e+26
+ulong_max > zero_min : 0x1
+ulong_max > zero_plus : 0x1
+ulong_max > zero : 0x1
+ulong_max > NaN : 0x0
+ulong_max > Inf_plus : 0x0
+ulong_max > Inf_min : 0x1
+ulong_max > Inf : 0x0
+ulong_max > long_max : 0x1
+ulong_max > long_min : 0x1
+ulong_max > int_max : 0x1
+ulong_max > int_min : 0x1
+ulong_max > uint_max : 0x0
+ulong_max > ulong_max : 0x0
+ulong_max > double_min : 0x1
+ulong_max > double_max : 0x0
+ulong_max > float_min : 0x1
+ulong_max > float_max : 0x0
+ulong_max < zero_min : 0x0
+ulong_max < zero_plus : 0x0
+ulong_max < zero : 0x0
+ulong_max < NaN : 0x0
+ulong_max < Inf_plus : 0x1
+ulong_max < Inf_min : 0x0
+ulong_max < Inf : 0x1
+ulong_max < long_max : 0x0
+ulong_max < long_min : 0x0
+ulong_max < int_max : 0x0
+ulong_max < int_min : 0x0
+ulong_max < uint_max : 0x0
+ulong_max < ulong_max : 0x0
+ulong_max < double_min : 0x0
+ulong_max < double_max : 0x1
+ulong_max < float_min : 0x0
+ulong_max < float_max : 0x1
+ulong_max >= zero_min : 0x1
+ulong_max >= zero_plus : 0x1
+ulong_max >= zero : 0x1
+ulong_max >= NaN : 0x0
+ulong_max >= Inf_plus : 0x0
+ulong_max >= Inf_min : 0x1
+ulong_max >= Inf : 0x0
+ulong_max >= long_max : 0x1
+ulong_max >= long_min : 0x1
+ulong_max >= int_max : 0x1
+ulong_max >= int_min : 0x1
+ulong_max >= uint_max : 0x1
+ulong_max >= ulong_max : 0x1
+ulong_max >= double_min : 0x1
+ulong_max >= double_max : 0x0
+ulong_max >= float_min : 0x1
+ulong_max >= float_max : 0x0
+ulong_max <= zero_min : 0x0
+ulong_max <= zero_plus : 0x0
+ulong_max <= zero : 0x0
+ulong_max <= NaN : 0x0
+ulong_max <= Inf_plus : 0x1
+ulong_max <= Inf_min : 0x0
+ulong_max <= Inf : 0x1
+ulong_max <= long_max : 0x0
+ulong_max <= long_min : 0x0
+ulong_max <= int_max : 0x0
+ulong_max <= int_min : 0x0
+ulong_max <= uint_max : 0x1
+ulong_max <= ulong_max : 0x1
+ulong_max <= double_min : 0x0
+ulong_max <= double_max : 0x1
+ulong_max <= float_min : 0x0
+ulong_max <= float_max : 0x1
+ulong_max == zero_min : 0x0
+ulong_max == zero_plus : 0x0
+ulong_max == zero : 0x0
+ulong_max == NaN : 0x0
+ulong_max == Inf_plus : 0x0
+ulong_max == Inf_min : 0x0
+ulong_max == Inf : 0x0
+ulong_max == long_max : 0x0
+ulong_max == long_min : 0x0
+ulong_max == int_max : 0x0
+ulong_max == int_min : 0x0
+ulong_max == uint_max : 0x1
+ulong_max == ulong_max : 0x1
+ulong_max == double_min : 0x0
+ulong_max == double_max : 0x0
+ulong_max == float_min : 0x0
+ulong_max == float_max : 0x0
+ulong_max != zero_min : 0x1
+ulong_max != zero_plus : 0x1
+ulong_max != zero : 0x1
+ulong_max != NaN : 0x1
+ulong_max != Inf_plus : 0x1
+ulong_max != Inf_min : 0x1
+ulong_max != Inf : 0x1
+ulong_max != long_max : 0x1
+ulong_max != long_min : 0x1
+ulong_max != int_max : 0x1
+ulong_max != int_min : 0x1
+ulong_max != uint_max : 0x0
+ulong_max != ulong_max : 0x0
+ulong_max != double_min : 0x1
+ulong_max != double_max : 0x1
+ulong_max != float_min : 0x1
+ulong_max != float_max : 0x1
+ulong_max * ulong_max * zero_min : 0x0
+ulong_max * ulong_max * zero_plus : 0x0
+ulong_max * ulong_max * zero : 0x0
+ulong_max * ulong_max * NaN : NaN
+ulong_max * ulong_max * Inf_plus : Inf
+ulong_max * ulong_max * Inf_min : -Inf
+ulong_max * ulong_max * Inf : Inf
+ulong_max * ulong_max * long_max : 0x7ffffffee+16
+ulong_max * ulong_max * long_min : 0x80000001e+16
+ulong_max * ulong_max * int_max : 0x7ffffffee+16
+ulong_max * ulong_max * int_min : 0x80000001e+16
+ulong_max * ulong_max * uint_max : 0x0fffffffde+16
+ulong_max * ulong_max * ulong_max : 0x0fffffffde+16
+ulong_max * ulong_max * double_min : 0x.3fffffff8e-239
+ulong_max * ulong_max * double_max : Inf
+ulong_max * ulong_max * float_min : 0x.3fffffff8e-15
+ulong_max * ulong_max * float_max : 0x0fffffefee+40
+****************** limits fx_float_double
+zero_min : 0x0
+zero_plus : 0x0
+zero : 0x0
+NaN : NaN
+Inf_plus : Inf
+Inf_min : -Inf
+Inf : Inf
+long_max : 0x7fffffff
+long_min : 0x8e+7
+int_max : 0x7fffffff
+int_min : 0x8e+7
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x.4e-255
+double_max : 0x0fffffffffffff8e+242
+float_min : 0x.4e-31
+float_max : 0x0ffffffe+26
+double_min / zero_min : -Inf
+double_min / zero_plus : Inf
+double_min / zero : Inf
+double_min / NaN : NaN
+double_min / Inf_plus : 0x0
+double_min / Inf_min : 0x0
+double_min / Inf : 0x0
+double_min / long_max : 0x.4e-263
+double_min / long_min : 0x.ce-263
+double_min / int_max : 0x.4e-263
+double_min / int_min : 0x.ce-263
+double_min / uint_max : 0x.2e-263
+double_min / ulong_max : 0x.2e-263
+double_min / double_min : 0x1
+double_min / double_max : 0x0
+double_min / float_min : 0x.1e-223
+double_min / float_max : 0x0
+double_min * zero_min : 0x0
+double_min * zero_plus : 0x0
+double_min * zero : 0x0
+double_min * NaN : NaN
+double_min * Inf_plus : Inf
+double_min * Inf_min : -Inf
+double_min * Inf : Inf
+double_min * long_max : 0x.1fffffffce-247
+double_min * long_min : 0x.ee-247
+double_min * int_max : 0x.1fffffffce-247
+double_min * int_min : 0x.ee-247
+double_min * uint_max : 0x.3fffffffce-247
+double_min * ulong_max : 0x.3fffffffce-247
+double_min * double_min : 0x0
+double_min * double_max : 0x3.ffffffffffffe
+double_min * float_min : 0x0
+double_min * float_max : 0x.3fffffce-223
+double_min + zero_min : 0x.4e-255
+double_min + zero_plus : 0x.4e-255
+double_min + zero : 0x.4e-255
+double_min + NaN : NaN
+double_min + Inf_plus : Inf
+double_min + Inf_min : -Inf
+double_min + Inf : Inf
+double_min + long_max : 0x7fffffff
+double_min + long_min : 0x8e+7
+double_min + int_max : 0x7fffffff
+double_min + int_min : 0x8e+7
+double_min + uint_max : 0x0ffffffff
+double_min + ulong_max : 0x0ffffffff
+double_min + double_min : 0x.08e-254
+double_min + double_max : 0x0fffffffffffff8e+242
+double_min + float_min : 0x.4e-31
+double_min + float_max : 0x0ffffffe+26
+double_min - zero_min : 0x.4e-255
+double_min - zero_plus : 0x.4e-255
+double_min - zero : 0x.4e-255
+double_min - NaN : NaN
+double_min - Inf_plus : -Inf
+double_min - Inf_min : Inf
+double_min - Inf : -Inf
+double_min - long_max : 0x80000001
+double_min - long_min : 0x08e+7
+double_min - int_max : 0x80000001
+double_min - int_min : 0x08e+7
+double_min - uint_max : 0xf00000001
+double_min - ulong_max : 0xf00000001
+double_min - double_min : 0x0
+double_min - double_max : 0xf00000000000008e+242
+double_min - float_min : 0x.ce-31
+double_min - float_max : 0xf000001e+26
+double_min > zero_min : 0x1
+double_min > zero_plus : 0x1
+double_min > zero : 0x1
+double_min > NaN : 0x0
+double_min > Inf_plus : 0x0
+double_min > Inf_min : 0x1
+double_min > Inf : 0x0
+double_min > long_max : 0x0
+double_min > long_min : 0x1
+double_min > int_max : 0x0
+double_min > int_min : 0x1
+double_min > uint_max : 0x0
+double_min > ulong_max : 0x0
+double_min > double_min : 0x0
+double_min > double_max : 0x0
+double_min > float_min : 0x0
+double_min > float_max : 0x0
+double_min < zero_min : 0x0
+double_min < zero_plus : 0x0
+double_min < zero : 0x0
+double_min < NaN : 0x0
+double_min < Inf_plus : 0x1
+double_min < Inf_min : 0x0
+double_min < Inf : 0x1
+double_min < long_max : 0x1
+double_min < long_min : 0x0
+double_min < int_max : 0x1
+double_min < int_min : 0x0
+double_min < uint_max : 0x1
+double_min < ulong_max : 0x1
+double_min < double_min : 0x0
+double_min < double_max : 0x1
+double_min < float_min : 0x1
+double_min < float_max : 0x1
+double_min >= zero_min : 0x1
+double_min >= zero_plus : 0x1
+double_min >= zero : 0x1
+double_min >= NaN : 0x0
+double_min >= Inf_plus : 0x0
+double_min >= Inf_min : 0x1
+double_min >= Inf : 0x0
+double_min >= long_max : 0x0
+double_min >= long_min : 0x1
+double_min >= int_max : 0x0
+double_min >= int_min : 0x1
+double_min >= uint_max : 0x0
+double_min >= ulong_max : 0x0
+double_min >= double_min : 0x1
+double_min >= double_max : 0x0
+double_min >= float_min : 0x0
+double_min >= float_max : 0x0
+double_min <= zero_min : 0x0
+double_min <= zero_plus : 0x0
+double_min <= zero : 0x0
+double_min <= NaN : 0x0
+double_min <= Inf_plus : 0x1
+double_min <= Inf_min : 0x0
+double_min <= Inf : 0x1
+double_min <= long_max : 0x1
+double_min <= long_min : 0x0
+double_min <= int_max : 0x1
+double_min <= int_min : 0x0
+double_min <= uint_max : 0x1
+double_min <= ulong_max : 0x1
+double_min <= double_min : 0x1
+double_min <= double_max : 0x1
+double_min <= float_min : 0x1
+double_min <= float_max : 0x1
+double_min == zero_min : 0x0
+double_min == zero_plus : 0x0
+double_min == zero : 0x0
+double_min == NaN : 0x0
+double_min == Inf_plus : 0x0
+double_min == Inf_min : 0x0
+double_min == Inf : 0x0
+double_min == long_max : 0x0
+double_min == long_min : 0x0
+double_min == int_max : 0x0
+double_min == int_min : 0x0
+double_min == uint_max : 0x0
+double_min == ulong_max : 0x0
+double_min == double_min : 0x1
+double_min == double_max : 0x0
+double_min == float_min : 0x0
+double_min == float_max : 0x0
+double_min != zero_min : 0x1
+double_min != zero_plus : 0x1
+double_min != zero : 0x1
+double_min != NaN : 0x1
+double_min != Inf_plus : 0x1
+double_min != Inf_min : 0x1
+double_min != Inf : 0x1
+double_min != long_max : 0x1
+double_min != long_min : 0x1
+double_min != int_max : 0x1
+double_min != int_min : 0x1
+double_min != uint_max : 0x1
+double_min != ulong_max : 0x1
+double_min != double_min : 0x0
+double_min != double_max : 0x1
+double_min != float_min : 0x1
+double_min != float_max : 0x1
+double_min * double_min * zero_min : 0x0
+double_min * double_min * zero_plus : 0x0
+double_min * double_min * zero : 0x0
+double_min * double_min * NaN : NaN
+double_min * double_min * Inf_plus : NaN
+double_min * double_min * Inf_min : NaN
+double_min * double_min * Inf : NaN
+double_min * double_min * long_max : 0x0
+double_min * double_min * long_min : 0x0
+double_min * double_min * int_max : 0x0
+double_min * double_min * int_min : 0x0
+double_min * double_min * uint_max : 0x0
+double_min * double_min * ulong_max : 0x0
+double_min * double_min * double_min : 0x0
+double_min * double_min * double_max : 0x0
+double_min * double_min * float_min : 0x0
+double_min * double_min * float_max : 0x0
+double_max / zero_min : -Inf
+double_max / zero_plus : Inf
+double_max / zero : Inf
+double_max / NaN : NaN
+double_max / Inf_plus : 0x0
+double_max / Inf_min : 0x0
+double_max / Inf : 0x0
+double_max / long_max : 0x200000004e+240
+double_max / long_min : 0xe0000000000001e+235
+double_max / int_max : 0x200000004e+240
+double_max / int_min : 0xe0000000000001e+235
+double_max / uint_max : 0x100000001e+240
+double_max / ulong_max : 0x100000001e+240
+double_max / double_min : Inf
+double_max / double_max : 0x1
+double_max / float_min : Inf
+double_max / float_max : 0x1000001000001e+212
+double_max * zero_min : 0x0
+double_max * zero_plus : 0x0
+double_max * zero : 0x0
+double_max * NaN : NaN
+double_max * Inf_plus : Inf
+double_max * Inf_min : -Inf
+double_max * Inf : Inf
+double_max * long_max : Inf
+double_max * long_min : -Inf
+double_max * int_max : Inf
+double_max * int_min : -Inf
+double_max * uint_max : Inf
+double_max * ulong_max : Inf
+double_max * double_min : 0x3.ffffffffffffe
+double_max * double_max : Inf
+double_max * float_min : 0x3ffffffffffffee+211
+double_max * float_max : Inf
+double_max + zero_min : 0x0fffffffffffff8e+242
+double_max + zero_plus : 0x0fffffffffffff8e+242
+double_max + zero : 0x0fffffffffffff8e+242
+double_max + NaN : NaN
+double_max + Inf_plus : Inf
+double_max + Inf_min : -Inf
+double_max + Inf : Inf
+double_max + long_max : 0x0fffffffffffff8e+242
+double_max + long_min : 0x0fffffffffffff8e+242
+double_max + int_max : 0x0fffffffffffff8e+242
+double_max + int_min : 0x0fffffffffffff8e+242
+double_max + uint_max : 0x0fffffffffffff8e+242
+double_max + ulong_max : 0x0fffffffffffff8e+242
+double_max + double_min : 0x0fffffffffffff8e+242
+double_max + double_max : Inf
+double_max + float_min : 0x0fffffffffffff8e+242
+double_max + float_max : 0x0fffffffffffff8e+242
+double_max - zero_min : 0x0fffffffffffff8e+242
+double_max - zero_plus : 0x0fffffffffffff8e+242
+double_max - zero : 0x0fffffffffffff8e+242
+double_max - NaN : NaN
+double_max - Inf_plus : -Inf
+double_max - Inf_min : Inf
+double_max - Inf : -Inf
+double_max - long_max : 0x0fffffffffffff8e+242
+double_max - long_min : 0x0fffffffffffff8e+242
+double_max - int_max : 0x0fffffffffffff8e+242
+double_max - int_min : 0x0fffffffffffff8e+242
+double_max - uint_max : 0x0fffffffffffff8e+242
+double_max - ulong_max : 0x0fffffffffffff8e+242
+double_max - double_min : 0x0fffffffffffff8e+242
+double_max - double_max : 0x0
+double_max - float_min : 0x0fffffffffffff8e+242
+double_max - float_max : 0x0fffffffffffff8e+242
+double_max > zero_min : 0x1
+double_max > zero_plus : 0x1
+double_max > zero : 0x1
+double_max > NaN : 0x0
+double_max > Inf_plus : 0x0
+double_max > Inf_min : 0x1
+double_max > Inf : 0x0
+double_max > long_max : 0x1
+double_max > long_min : 0x1
+double_max > int_max : 0x1
+double_max > int_min : 0x1
+double_max > uint_max : 0x1
+double_max > ulong_max : 0x1
+double_max > double_min : 0x1
+double_max > double_max : 0x0
+double_max > float_min : 0x1
+double_max > float_max : 0x1
+double_max < zero_min : 0x0
+double_max < zero_plus : 0x0
+double_max < zero : 0x0
+double_max < NaN : 0x0
+double_max < Inf_plus : 0x1
+double_max < Inf_min : 0x0
+double_max < Inf : 0x1
+double_max < long_max : 0x0
+double_max < long_min : 0x0
+double_max < int_max : 0x0
+double_max < int_min : 0x0
+double_max < uint_max : 0x0
+double_max < ulong_max : 0x0
+double_max < double_min : 0x0
+double_max < double_max : 0x0
+double_max < float_min : 0x0
+double_max < float_max : 0x0
+double_max >= zero_min : 0x1
+double_max >= zero_plus : 0x1
+double_max >= zero : 0x1
+double_max >= NaN : 0x0
+double_max >= Inf_plus : 0x0
+double_max >= Inf_min : 0x1
+double_max >= Inf : 0x0
+double_max >= long_max : 0x1
+double_max >= long_min : 0x1
+double_max >= int_max : 0x1
+double_max >= int_min : 0x1
+double_max >= uint_max : 0x1
+double_max >= ulong_max : 0x1
+double_max >= double_min : 0x1
+double_max >= double_max : 0x1
+double_max >= float_min : 0x1
+double_max >= float_max : 0x1
+double_max <= zero_min : 0x0
+double_max <= zero_plus : 0x0
+double_max <= zero : 0x0
+double_max <= NaN : 0x0
+double_max <= Inf_plus : 0x1
+double_max <= Inf_min : 0x0
+double_max <= Inf : 0x1
+double_max <= long_max : 0x0
+double_max <= long_min : 0x0
+double_max <= int_max : 0x0
+double_max <= int_min : 0x0
+double_max <= uint_max : 0x0
+double_max <= ulong_max : 0x0
+double_max <= double_min : 0x0
+double_max <= double_max : 0x1
+double_max <= float_min : 0x0
+double_max <= float_max : 0x0
+double_max == zero_min : 0x0
+double_max == zero_plus : 0x0
+double_max == zero : 0x0
+double_max == NaN : 0x0
+double_max == Inf_plus : 0x0
+double_max == Inf_min : 0x0
+double_max == Inf : 0x0
+double_max == long_max : 0x0
+double_max == long_min : 0x0
+double_max == int_max : 0x0
+double_max == int_min : 0x0
+double_max == uint_max : 0x0
+double_max == ulong_max : 0x0
+double_max == double_min : 0x0
+double_max == double_max : 0x1
+double_max == float_min : 0x0
+double_max == float_max : 0x0
+double_max != zero_min : 0x1
+double_max != zero_plus : 0x1
+double_max != zero : 0x1
+double_max != NaN : 0x1
+double_max != Inf_plus : 0x1
+double_max != Inf_min : 0x1
+double_max != Inf : 0x1
+double_max != long_max : 0x1
+double_max != long_min : 0x1
+double_max != int_max : 0x1
+double_max != int_min : 0x1
+double_max != uint_max : 0x1
+double_max != ulong_max : 0x1
+double_max != double_min : 0x1
+double_max != double_max : 0x0
+double_max != float_min : 0x1
+double_max != float_max : 0x1
+double_max * double_max * zero_min : NaN
+double_max * double_max * zero_plus : NaN
+double_max * double_max * zero : NaN
+double_max * double_max * NaN : NaN
+double_max * double_max * Inf_plus : Inf
+double_max * double_max * Inf_min : -Inf
+double_max * double_max * Inf : Inf
+double_max * double_max * long_max : Inf
+double_max * double_max * long_min : -Inf
+double_max * double_max * int_max : Inf
+double_max * double_max * int_min : -Inf
+double_max * double_max * uint_max : Inf
+double_max * double_max * ulong_max : Inf
+double_max * double_max * double_min : Inf
+double_max * double_max * double_max : Inf
+double_max * double_max * float_min : Inf
+double_max * double_max * float_max : Inf
+float_min / zero_min : -Inf
+float_min / zero_plus : Inf
+float_min / zero : Inf
+float_min / NaN : NaN
+float_min / Inf_plus : 0x0
+float_min / Inf_min : 0x0
+float_min / Inf : 0x0
+float_min / long_max : 0x.080000001e-38
+float_min / long_min : 0x.8e-39
+float_min / int_max : 0x.080000001e-38
+float_min / int_min : 0x.8e-39
+float_min / uint_max : 0x.400000004e-39
+float_min / ulong_max : 0x.400000004e-39
+float_min / double_min : 0x1e+224
+float_min / double_max : 0x0
+float_min / float_min : 0x1
+float_min / float_max : 0x.4000004000004e-63
+float_min * zero_min : 0x0
+float_min * zero_plus : 0x0
+float_min * zero : 0x0
+float_min * NaN : NaN
+float_min * Inf_plus : Inf
+float_min * Inf_min : -Inf
+float_min * Inf : Inf
+float_min * long_max : 0x.1fffffffce-23
+float_min * long_min : 0x.ee-23
+float_min * int_max : 0x.1fffffffce-23
+float_min * int_min : 0x.ee-23
+float_min * uint_max : 0x.3fffffffce-23
+float_min * ulong_max : 0x.3fffffffce-23
+float_min * double_min : 0x0
+float_min * double_max : 0x3ffffffffffffee+211
+float_min * float_min : 0x.1e-62
+float_min * float_max : 0x3.fffffc
+float_min + zero_min : 0x.4e-31
+float_min + zero_plus : 0x.4e-31
+float_min + zero : 0x.4e-31
+float_min + NaN : NaN
+float_min + Inf_plus : Inf
+float_min + Inf_min : -Inf
+float_min + Inf : Inf
+float_min + long_max : 0x7fffffff
+float_min + long_min : 0x8e+7
+float_min + int_max : 0x7fffffff
+float_min + int_min : 0x8e+7
+float_min + uint_max : 0x0ffffffff
+float_min + ulong_max : 0x0ffffffff
+float_min + double_min : 0x.4e-31
+float_min + double_max : 0x0fffffffffffff8e+242
+float_min + float_min : 0x.08e-30
+float_min + float_max : 0x0ffffffe+26
+float_min - zero_min : 0x.4e-31
+float_min - zero_plus : 0x.4e-31
+float_min - zero : 0x.4e-31
+float_min - NaN : NaN
+float_min - Inf_plus : -Inf
+float_min - Inf_min : Inf
+float_min - Inf : -Inf
+float_min - long_max : 0x80000001
+float_min - long_min : 0x08e+7
+float_min - int_max : 0x80000001
+float_min - int_min : 0x08e+7
+float_min - uint_max : 0xf00000001
+float_min - ulong_max : 0xf00000001
+float_min - double_min : 0x.4e-31
+float_min - double_max : 0xf00000000000008e+242
+float_min - float_min : 0x0
+float_min - float_max : 0xf000001e+26
+float_min > zero_min : 0x1
+float_min > zero_plus : 0x1
+float_min > zero : 0x1
+float_min > NaN : 0x0
+float_min > Inf_plus : 0x0
+float_min > Inf_min : 0x1
+float_min > Inf : 0x0
+float_min > long_max : 0x0
+float_min > long_min : 0x1
+float_min > int_max : 0x0
+float_min > int_min : 0x1
+float_min > uint_max : 0x0
+float_min > ulong_max : 0x0
+float_min > double_min : 0x1
+float_min > double_max : 0x0
+float_min > float_min : 0x0
+float_min > float_max : 0x0
+float_min < zero_min : 0x0
+float_min < zero_plus : 0x0
+float_min < zero : 0x0
+float_min < NaN : 0x0
+float_min < Inf_plus : 0x1
+float_min < Inf_min : 0x0
+float_min < Inf : 0x1
+float_min < long_max : 0x1
+float_min < long_min : 0x0
+float_min < int_max : 0x1
+float_min < int_min : 0x0
+float_min < uint_max : 0x1
+float_min < ulong_max : 0x1
+float_min < double_min : 0x0
+float_min < double_max : 0x1
+float_min < float_min : 0x0
+float_min < float_max : 0x1
+float_min >= zero_min : 0x1
+float_min >= zero_plus : 0x1
+float_min >= zero : 0x1
+float_min >= NaN : 0x0
+float_min >= Inf_plus : 0x0
+float_min >= Inf_min : 0x1
+float_min >= Inf : 0x0
+float_min >= long_max : 0x0
+float_min >= long_min : 0x1
+float_min >= int_max : 0x0
+float_min >= int_min : 0x1
+float_min >= uint_max : 0x0
+float_min >= ulong_max : 0x0
+float_min >= double_min : 0x1
+float_min >= double_max : 0x0
+float_min >= float_min : 0x1
+float_min >= float_max : 0x0
+float_min <= zero_min : 0x0
+float_min <= zero_plus : 0x0
+float_min <= zero : 0x0
+float_min <= NaN : 0x0
+float_min <= Inf_plus : 0x1
+float_min <= Inf_min : 0x0
+float_min <= Inf : 0x1
+float_min <= long_max : 0x1
+float_min <= long_min : 0x0
+float_min <= int_max : 0x1
+float_min <= int_min : 0x0
+float_min <= uint_max : 0x1
+float_min <= ulong_max : 0x1
+float_min <= double_min : 0x0
+float_min <= double_max : 0x1
+float_min <= float_min : 0x1
+float_min <= float_max : 0x1
+float_min == zero_min : 0x0
+float_min == zero_plus : 0x0
+float_min == zero : 0x0
+float_min == NaN : 0x0
+float_min == Inf_plus : 0x0
+float_min == Inf_min : 0x0
+float_min == Inf : 0x0
+float_min == long_max : 0x0
+float_min == long_min : 0x0
+float_min == int_max : 0x0
+float_min == int_min : 0x0
+float_min == uint_max : 0x0
+float_min == ulong_max : 0x0
+float_min == double_min : 0x0
+float_min == double_max : 0x0
+float_min == float_min : 0x1
+float_min == float_max : 0x0
+float_min != zero_min : 0x1
+float_min != zero_plus : 0x1
+float_min != zero : 0x1
+float_min != NaN : 0x1
+float_min != Inf_plus : 0x1
+float_min != Inf_min : 0x1
+float_min != Inf : 0x1
+float_min != long_max : 0x1
+float_min != long_min : 0x1
+float_min != int_max : 0x1
+float_min != int_min : 0x1
+float_min != uint_max : 0x1
+float_min != ulong_max : 0x1
+float_min != double_min : 0x1
+float_min != double_max : 0x1
+float_min != float_min : 0x0
+float_min != float_max : 0x1
+float_min * float_min * zero_min : 0x0
+float_min * float_min * zero_plus : 0x0
+float_min * float_min * zero : 0x0
+float_min * float_min * NaN : NaN
+float_min * float_min * Inf_plus : Inf
+float_min * float_min * Inf_min : -Inf
+float_min * float_min * Inf : Inf
+float_min * float_min * long_max : 0x.7fffffffe-55
+float_min * float_min * long_min : 0x.8e-55
+float_min * float_min * int_max : 0x.7fffffffe-55
+float_min * float_min * int_min : 0x.8e-55
+float_min * float_min * uint_max : 0x.0ffffffffe-54
+float_min * float_min * ulong_max : 0x.0ffffffffe-54
+float_min * float_min * double_min : 0x0
+float_min * float_min * double_max : 0x0fffffffffffff8e+179
+float_min * float_min * float_min : 0x.4e-94
+float_min * float_min * float_max : 0x.0ffffffe-30
+float_max / zero_min : -Inf
+float_max / zero_plus : Inf
+float_max / zero : Inf
+float_max / NaN : NaN
+float_max / Inf_plus : 0x0
+float_max / Inf_min : 0x0
+float_max / Inf : 0x0
+float_max / long_max : 0x1fffffe04e+16
+float_max / long_min : 0xe000002e+18
+float_max / int_max : 0x1fffffe04e+16
+float_max / int_min : 0xe000002e+18
+float_max / uint_max : 0x0ffffff01e+16
+float_max / ulong_max : 0x0ffffff01e+16
+float_max / double_min : Inf
+float_max / double_max : 0x.0ffffff00000008e-223
+float_max / float_min : 0x3fffffce+57
+float_max / float_max : 0x1
+float_max * zero_min : 0x0
+float_max * zero_plus : 0x0
+float_max * zero : 0x0
+float_max * NaN : NaN
+float_max * Inf_plus : Inf
+float_max * Inf_min : -Inf
+float_max * Inf : Inf
+float_max * long_max : 0x7fffff7fe+32
+float_max * long_min : 0x8000008e+33
+float_max * int_max : 0x7fffff7fe+32
+float_max * int_min : 0x8000008e+33
+float_max * uint_max : 0x0fffffeffe+32
+float_max * ulong_max : 0x0fffffeffe+32
+float_max * double_min : 0x.3fffffce-223
+float_max * double_max : Inf
+float_max * float_min : 0x3.fffffc
+float_max * float_max : 0x0fffffe000001e+52
+float_max + zero_min : 0x0ffffffe+26
+float_max + zero_plus : 0x0ffffffe+26
+float_max + zero : 0x0ffffffe+26
+float_max + NaN : NaN
+float_max + Inf_plus : Inf
+float_max + Inf_min : -Inf
+float_max + Inf : Inf
+float_max + long_max : 0x0ffffffe+26
+float_max + long_min : 0x0ffffffe+26
+float_max + int_max : 0x0ffffffe+26
+float_max + int_min : 0x0ffffffe+26
+float_max + uint_max : 0x0ffffffe+26
+float_max + ulong_max : 0x0ffffffe+26
+float_max + double_min : 0x0ffffffe+26
+float_max + double_max : 0x0fffffffffffff8e+242
+float_max + float_min : 0x0ffffffe+26
+float_max + float_max : 0x1fffffee+26
+float_max - zero_min : 0x0ffffffe+26
+float_max - zero_plus : 0x0ffffffe+26
+float_max - zero : 0x0ffffffe+26
+float_max - NaN : NaN
+float_max - Inf_plus : -Inf
+float_max - Inf_min : Inf
+float_max - Inf : -Inf
+float_max - long_max : 0x0ffffffe+26
+float_max - long_min : 0x0ffffffe+26
+float_max - int_max : 0x0ffffffe+26
+float_max - int_min : 0x0ffffffe+26
+float_max - uint_max : 0x0ffffffe+26
+float_max - ulong_max : 0x0ffffffe+26
+float_max - double_min : 0x0ffffffe+26
+float_max - double_max : 0xf00000000000008e+242
+float_max - float_min : 0x0ffffffe+26
+float_max - float_max : 0x0
+float_max > zero_min : 0x1
+float_max > zero_plus : 0x1
+float_max > zero : 0x1
+float_max > NaN : 0x0
+float_max > Inf_plus : 0x0
+float_max > Inf_min : 0x1
+float_max > Inf : 0x0
+float_max > long_max : 0x1
+float_max > long_min : 0x1
+float_max > int_max : 0x1
+float_max > int_min : 0x1
+float_max > uint_max : 0x1
+float_max > ulong_max : 0x1
+float_max > double_min : 0x1
+float_max > double_max : 0x0
+float_max > float_min : 0x1
+float_max > float_max : 0x0
+float_max < zero_min : 0x0
+float_max < zero_plus : 0x0
+float_max < zero : 0x0
+float_max < NaN : 0x0
+float_max < Inf_plus : 0x1
+float_max < Inf_min : 0x0
+float_max < Inf : 0x1
+float_max < long_max : 0x0
+float_max < long_min : 0x0
+float_max < int_max : 0x0
+float_max < int_min : 0x0
+float_max < uint_max : 0x0
+float_max < ulong_max : 0x0
+float_max < double_min : 0x0
+float_max < double_max : 0x1
+float_max < float_min : 0x0
+float_max < float_max : 0x0
+float_max >= zero_min : 0x1
+float_max >= zero_plus : 0x1
+float_max >= zero : 0x1
+float_max >= NaN : 0x0
+float_max >= Inf_plus : 0x0
+float_max >= Inf_min : 0x1
+float_max >= Inf : 0x0
+float_max >= long_max : 0x1
+float_max >= long_min : 0x1
+float_max >= int_max : 0x1
+float_max >= int_min : 0x1
+float_max >= uint_max : 0x1
+float_max >= ulong_max : 0x1
+float_max >= double_min : 0x1
+float_max >= double_max : 0x0
+float_max >= float_min : 0x1
+float_max >= float_max : 0x1
+float_max <= zero_min : 0x0
+float_max <= zero_plus : 0x0
+float_max <= zero : 0x0
+float_max <= NaN : 0x0
+float_max <= Inf_plus : 0x1
+float_max <= Inf_min : 0x0
+float_max <= Inf : 0x1
+float_max <= long_max : 0x0
+float_max <= long_min : 0x0
+float_max <= int_max : 0x0
+float_max <= int_min : 0x0
+float_max <= uint_max : 0x0
+float_max <= ulong_max : 0x0
+float_max <= double_min : 0x0
+float_max <= double_max : 0x1
+float_max <= float_min : 0x0
+float_max <= float_max : 0x1
+float_max == zero_min : 0x0
+float_max == zero_plus : 0x0
+float_max == zero : 0x0
+float_max == NaN : 0x0
+float_max == Inf_plus : 0x0
+float_max == Inf_min : 0x0
+float_max == Inf : 0x0
+float_max == long_max : 0x0
+float_max == long_min : 0x0
+float_max == int_max : 0x0
+float_max == int_min : 0x0
+float_max == uint_max : 0x0
+float_max == ulong_max : 0x0
+float_max == double_min : 0x0
+float_max == double_max : 0x0
+float_max == float_min : 0x0
+float_max == float_max : 0x1
+float_max != zero_min : 0x1
+float_max != zero_plus : 0x1
+float_max != zero : 0x1
+float_max != NaN : 0x1
+float_max != Inf_plus : 0x1
+float_max != Inf_min : 0x1
+float_max != Inf : 0x1
+float_max != long_max : 0x1
+float_max != long_min : 0x1
+float_max != int_max : 0x1
+float_max != int_min : 0x1
+float_max != uint_max : 0x1
+float_max != ulong_max : 0x1
+float_max != double_min : 0x1
+float_max != double_max : 0x1
+float_max != float_min : 0x1
+float_max != float_max : 0x0
+float_max * float_max * zero_min : 0x0
+float_max * float_max * zero_plus : 0x0
+float_max * float_max * zero : 0x0
+float_max * float_max * NaN : NaN
+float_max * float_max * Inf_plus : Inf
+float_max * float_max * Inf_min : -Inf
+float_max * float_max * Inf : Inf
+float_max * float_max * long_max : 0x7ffffeff00008e+59
+float_max * float_max * long_min : 0x800000ffffff8e+59
+float_max * float_max * int_max : 0x7ffffeff00008e+59
+float_max * float_max * int_min : 0x800000ffffff8e+59
+float_max * float_max * uint_max : 0x0fffffdff0001e+60
+float_max * float_max * ulong_max : 0x0fffffdff0001e+60
+float_max * float_max * double_min : 0x.3fffff8000004e-191
+float_max * float_max * double_max : Inf
+float_max * float_max * float_min : 0x3fffff8000004e+20
+float_max * float_max * float_max : 0x0fffffd000003e+84
+double_min / NaN : NaN
+****************** limits fx_ufix
+****************** limits fx_ufix_zero
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x07fffffff
+long_min : 0x080000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_Inf
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x07fffffff
+long_min : 0x080000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_long
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x07fffffff
+long_min : 0x080000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_ufix_double
+zero_min : 0x000000000
+zero_plus : 0x000000000
+zero : 0x000000000
+long_max : 0x07fffffff
+long_min : 0x080000000
+int_max : 0x07fffffff
+int_min : 0x080000000
+uint_max : 0x0ffffffff
+ulong_max : 0x0ffffffff
+double_min : 0x000000000
+double_max : 0x000000000
+float_min : 0x000000000
+float_max : 0x000000000
+****************** limits fx_fix
+****************** limits fx_fix_zero
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x7fffffff
+long_min : 0x80000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0xffffffff
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_Inf
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x7fffffff
+long_min : 0x80000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0xffffffff
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_long
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x7fffffff
+long_min : 0x80000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0xffffffff
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fix_double
+zero_min : 0x00000000
+zero_plus : 0x00000000
+zero : 0x00000000
+long_max : 0x7fffffff
+long_min : 0x80000000
+int_max : 0x7fffffff
+int_min : 0x80000000
+uint_max : 0xffffffff
+ulong_max : 0xffffffff
+double_min : 0x00000000
+double_max : 0x00000000
+float_min : 0x00000000
+float_max : 0x00000000
+****************** limits fx_fixed<8, 5>
+****************** limits fx_fixed<8, 5>_zero
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0xff.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0xff.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_Inf
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0xff.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0xff.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_long
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0xff.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0xff.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_fixed<8, 5>_double
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0xff.0
+long_min : 0x00.0
+int_max : 0xff.0
+int_min : 0x00.0
+uint_max : 0xff.0
+ulong_max : 0xff.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>
+****************** limits fx_ufixed<8, 5>_zero
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x1f.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x1f.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_Inf
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x1f.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x1f.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_long
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x1f.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x1f.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
+****************** limits fx_ufixed<8, 5>_double
+zero_min : 0x00.0
+zero_plus : 0x00.0
+zero : 0x00.0
+long_max : 0x1f.0
+long_min : 0x00.0
+int_max : 0x1f.0
+int_min : 0x00.0
+uint_max : 0x1f.0
+ulong_max : 0x1f.0
+double_min : 0x00.0
+double_max : 0x00.0
+float_min : 0x00.0
+float_max : 0x00.0
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/main.cpp b/src/systemc/tests/systemc/datatypes/fx/fast_limits/main.cpp
new file mode 100644
index 000000000..d4f24f55b
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/main.cpp
@@ -0,0 +1,109 @@
+/*****************************************************************************
+
+ Licensed to Accellera Systems Initiative Inc. (Accellera) under one or
+ more contributor license agreements. See the NOTICE file distributed
+ with this work for additional information regarding copyright ownership.
+ Accellera licenses this file to you under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ main.cpp --
+
+ Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15
+
+ *****************************************************************************/
+
+/*****************************************************************************
+
+ MODIFICATION LOG - modifiers, enter your name, affiliation, date and
+ changes you are making here.
+
+ Name, Affiliation, Date:
+ Description of Modification:
+
+ *****************************************************************************/
+
+// This may look like C code, but it is really -*- C++ -*-
+//
+// main.cxx --
+// Copyright Synopsys 1998
+// Author : Ric Hilderink
+// Created On : Wed Dec 30 12:41:10 1998
+// Status : none
+//
+
+#include <limits.h>
+
+#define SC_INCLUDE_FX
+#include "systemc.h"
+# if (defined(__GNUC__) && (__GNUC__ >= 3))|| (defined(_MSC_VER) && (_MSC_VER >= 1300))
+# include "sstream"
+#else
+# include "strstream.h"
+#endif
+#include "fx_precision_double.h"
+
+extern void test_fx_float_limits(ostream&);
+extern void test_fx_ufix_limits(ostream&);
+extern void test_fx_fix_limits(ostream&);
+extern void test_fx_fixed_limits(ostream&);
+extern void test_fx_ufixed_limits(ostream&);
+
+int sc_main( int, char** )
+{
+# if (defined(__GNUC__) && (__GNUC__ >= 3))|| (defined(_MSC_VER) && (_MSC_VER >= 1300))
+ std::stringstream out;
+# else
+ strstream out;
+# endif
+
+ out.precision(15);
+
+ test_fx_float_limits(out);
+ test_fx_ufix_limits(out);
+ test_fx_fix_limits(out);
+ test_fx_fixed_limits(out);
+ test_fx_ufixed_limits(out);
+
+# if (defined(__GNUC__) && (__GNUC__ >= 3))|| (defined(_MSC_VER) && (_MSC_VER >= 1300))
+ std::string s = out.str();
+ for (int i = 0; i < s.length(); i++ )
+# else
+ out << '\0';
+ char* s = out.str();
+ for (int i = 0; i < strlen(s); i++ )
+# endif
+
+ {
+ if (s[i+0] == 'i' && s[i+1] == 'n' && s[i+2] == 'f')
+ {
+ s[i+0] = 'I';
+ i += 2;
+ continue;
+ }
+
+ if (s[i+0] == 'n' && s[i+1] == 'a' && s[i+2] == 'n')
+ {
+ s[i+0] = 'N';
+ s[i+2] = 'N';
+ i += 2;
+ continue;
+ }
+ }
+
+ cout << s;
+
+ return 0;
+}
diff --git a/src/systemc/tests/systemc/datatypes/fx/fast_limits/test.f b/src/systemc/tests/systemc/datatypes/fx/fast_limits/test.f
new file mode 100644
index 000000000..86a6ecf7d
--- /dev/null
+++ b/src/systemc/tests/systemc/datatypes/fx/fast_limits/test.f
@@ -0,0 +1,26 @@
+fast_limits/fx_fix_limits.cpp
+fast_limits/fx_fix_limits_double.cpp
+fast_limits/fx_fix_limits_inf.cpp
+fast_limits/fx_fix_limits_long.cpp
+fast_limits/fx_fix_limits_zero.cpp
+fast_limits/fx_fixed_limits.cpp
+fast_limits/fx_fixed_limits_double.cpp
+fast_limits/fx_fixed_limits_inf.cpp
+fast_limits/fx_fixed_limits_long.cpp
+fast_limits/fx_fixed_limits_zero.cpp
+fast_limits/fx_float_limits.cpp
+fast_limits/fx_float_limits_double.cpp
+fast_limits/fx_float_limits_inf.cpp
+fast_limits/fx_float_limits_long.cpp
+fast_limits/fx_float_limits_zero.cpp
+fast_limits/fx_ufix_limits.cpp
+fast_limits/fx_ufix_limits_double.cpp
+fast_limits/fx_ufix_limits_inf.cpp
+fast_limits/fx_ufix_limits_long.cpp
+fast_limits/fx_ufix_limits_zero.cpp
+fast_limits/fx_ufixed_limits.cpp
+fast_limits/fx_ufixed_limits_double.cpp
+fast_limits/fx_ufixed_limits_inf.cpp
+fast_limits/fx_ufixed_limits_long.cpp
+fast_limits/fx_ufixed_limits_zero.cpp
+fast_limits/main.cpp