From 7a96de64a32ab8c31842ca9e7c3a4344071ae748 Mon Sep 17 00:00:00 2001 From: twisti Date: Tue, 19 Jul 2005 08:52:11 +0000 Subject: [PATCH] * Added other tests --- tests/regression/.cvsignore | 2 + tests/regression/HelloWorld.java | 5 + tests/regression/Makefile.am | 20 +- tests/regression/Test.sh | 45 + tests/regression/extest.2output | 142 + tests/regression/extest.java | 467 +++ tests/regression/fp.java | 82 + tests/regression/fp.output | 1116 ++++++++ tests/regression/fptest.java | 319 +++ tests/regression/fptest.output | 951 +++++++ tests/regression/jctest.java | 1577 +++++++++++ tests/regression/jctest.output | 4573 ++++++++++++++++++++++++++++++ 12 files changed, 9296 insertions(+), 3 deletions(-) create mode 100644 tests/regression/.cvsignore create mode 100644 tests/regression/HelloWorld.java create mode 100644 tests/regression/Test.sh create mode 100644 tests/regression/extest.2output create mode 100644 tests/regression/extest.java create mode 100644 tests/regression/fp.java create mode 100644 tests/regression/fp.output create mode 100644 tests/regression/fptest.java create mode 100644 tests/regression/fptest.output create mode 100644 tests/regression/jctest.java create mode 100644 tests/regression/jctest.output diff --git a/tests/regression/.cvsignore b/tests/regression/.cvsignore new file mode 100644 index 000000000..282522db0 --- /dev/null +++ b/tests/regression/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/tests/regression/HelloWorld.java b/tests/regression/HelloWorld.java new file mode 100644 index 000000000..ab1fd58e1 --- /dev/null +++ b/tests/regression/HelloWorld.java @@ -0,0 +1,5 @@ +public class HelloWorld { + public static void main(String[] argv) { + System.out.println("OK"); + } +} diff --git a/tests/regression/Makefile.am b/tests/regression/Makefile.am index b4be15893..040e21578 100644 --- a/tests/regression/Makefile.am +++ b/tests/regression/Makefile.am @@ -28,7 +28,7 @@ ## ## Changes: ## -## $Id: Makefile.am 3056 2005-07-18 22:34:23Z twisti $ +## $Id: Makefile.am 3061 2005-07-19 08:52:11Z twisti $ ## Process this file with automake to produce Makefile.in @@ -36,12 +36,21 @@ JAVA = $(top_builddir)/src/cacao/cacao JAVAC = jikes -nowarn CLEANFILES = \ - *.class + *.class \ + *.thisoutput SIMPLE_JAVA_TESTS = \ + HelloWorld + +OUTPUT_JAVA_TESTS = \ + jctest \ + fptest \ + fp \ + extest \ + \ clinitexception -checkall: $(SIMPLE_JAVA_TESTS) +checkall: $(SIMPLE_JAVA_TESTS) $(OUTPUT_JAVA_TESTS) $(SIMPLE_JAVA_TESTS): @$(JAVAC) $@.java @@ -49,6 +58,11 @@ $(SIMPLE_JAVA_TESTS): @$(JAVA) $@ +$(OUTPUT_JAVA_TESTS): + @$(JAVAC) $@.java + @$(SHELL) Test.sh $(JAVA) $@ + + ## Local variables: ## mode: Makefile ## indent-tabs-mode: t diff --git a/tests/regression/Test.sh b/tests/regression/Test.sh new file mode 100644 index 000000000..a871030e3 --- /dev/null +++ b/tests/regression/Test.sh @@ -0,0 +1,45 @@ +#!/bin/sh + +JAVA=$1 +TEST=$2 + +$JAVA $TEST > $TEST.thisoutput 2>&1 + +if [ $? -eq "0" ]; then + # no Error returned + if [ -f $TEST.2output ]; then + # Error should have been returned + echo "$TEST: OK, but wrong return value: $?" + head $TEST.output + exit + fi + + cmp -s $TEST.output $TEST.thisoutput + + if [ $? -eq "0" ]; then + echo "$TEST: OK" + else + echo "$TEST: FAILED" + diff $TEST.output $TEST.thisoutput | head + fi + +else + # Error returned + if [ ! -f $TEST.2output ]; then + # No Error should have been returned + echo "$TEST: FAILED, but wrong return value: $?" + head $TEST.this2output + exit + fi + + cmp -s $TEST.2output $TEST.thisoutput + + if [ $? -eq "0" ]; then + echo "$TEST: OK" + else + echo "$TEST: FAILED" + diff $TEST.2output $TEST.thisoutput | head + fi +fi + +rm -f $TEST.thisoutput diff --git a/tests/regression/extest.2output b/tests/regression/extest.2output new file mode 100644 index 000000000..68f742240 --- /dev/null +++ b/tests/regression/extest.2output @@ -0,0 +1,142 @@ +---------- normal exceptions -------------------- +throw new Exception(): OK +java.lang.Exception + at extest.main(extest.java:21) + +throw new Exception() (from subroutines): OK +java.lang.Exception + at extest.sub4(extest.java:390) + at extest.sub3(extest.java:386) + at extest.sub2(extest.java:382) + at extest.sub(extest.java:378) + at extest.main(extest.java:36) + +NullPointerException: OK +java.lang.NullPointerException + at extest.main(extest.java:46) + + +---------- test soft inline exceptions ---------- +/* thrown twice to check the inline jump code */ +ArithmeticException (only w/ -softnull): OK +java.lang.ArithmeticException: / by zero + at extest.main(extest.java:61) + +ArithmeticException (only w/ -softnull): OK +java.lang.ArithmeticException: / by zero + at extest.main(extest.java:77) + +ArrayIndexOutOfBoundsException: OK +java.lang.ArrayIndexOutOfBoundsException: -889275714 + at extest.main(extest.java:95) + +ArrayIndexOutOfBoundsException: OK +java.lang.ArrayIndexOutOfBoundsException: -1161901314 + at extest.main(extest.java:112) + +ArrayStoreException: OK +java.lang.ArrayStoreException + at extest.main(extest.java:132) + +ArrayStoreException: OK +java.lang.ArrayStoreException + at extest.main(extest.java:143) + +ClassCastException: OK +java.lang.ClassCastException + at extest.main(extest.java:154) + +ClassCastException: OK +java.lang.ClassCastException + at extest.main(extest.java:165) + +NegativeArraySizeException: OK +java.lang.NegativeArraySizeException + at extest.main(extest.java:175) + +NegativeArraySizeException: OK +java.lang.NegativeArraySizeException + at extest.main(extest.java:184) + +NullPointerException (only w/ -softnull): OK +java.lang.NullPointerException + at extest.main(extest.java:195) + +NullPointerException (only w/ -softnull): OK +java.lang.NullPointerException + at extest.main(extest.java:205) + +OutOfMemoryError: OK +java.lang.OutOfMemoryError + at extest.main(extest.java:215) + +OutOfMemoryError: OK +java.lang.OutOfMemoryError + at extest.main(extest.java:225) + + +---------- exceptions in leaf functions --------- +ArithmeticException: OK +java.lang.ArithmeticException: / by zero + at extest.aesub(extest.java:394) + at extest.main(extest.java:239) + +ArrayIndexOutOfBoundsException: OK +java.lang.ArrayIndexOutOfBoundsException: -559038737 + at extest.aioobesub(extest.java:398) + at extest.main(extest.java:248) + +ClassCastException: OK +java.lang.ClassCastException + at extest.ccesub(extest.java:402) + at extest.main(extest.java:265) + +NullPointerException: OK +java.lang.NullPointerException + at extest.npesub(extest.java:406) + at extest.main(extest.java:274) + + +---------- some asmpart exceptions -------------- +NullPointerException in (PUTSTATIC): OK +java.lang.ExceptionInInitializerError + at extest.main(extest.java:288) +Caused by: java.lang.NullPointerException + at extest_clinit_1.(extest.java:445) + at extest.main(extest.java:288) + +NullPointerException in (GETSTATIC): OK +java.lang.ExceptionInInitializerError + at extest.main(extest.java:301) +Caused by: java.lang.NullPointerException + at extest_clinit_2.(extest.java:454) + at extest.main(extest.java:301) + + +---------- exception related things ------------- +load/link an exception class in asmpart: OK +java.lang.Exception + at extest.main(extest.java:319) + + +---------- native stub exceptions --------------- +NullPointerException (native): OK +java.lang.NullPointerException + at java.lang.VMSystem.arraycopy(Native Method) + at java.lang.System.arraycopy(System.java:234) + at extest.main(extest.java:335) + +NullPointerException in : OK +java.lang.ExceptionInInitializerError + at extest_clinit_3.sub(Native Method) + at extest.main(extest.java:344) +Caused by: java.lang.NullPointerException + at extest_clinit_3.(extest.java:463) + at extest_clinit_3.sub(Native Method) + ...1 more + + +---------- no OK beyond this point -------------- +NullPointerException (without catch): +Exception in thread "main" java.lang.NullPointerException + at extest.main(extest.java:373) diff --git a/tests/regression/extest.java b/tests/regression/extest.java new file mode 100644 index 000000000..e98e77b91 --- /dev/null +++ b/tests/regression/extest.java @@ -0,0 +1,467 @@ +public class extest { + final static int INDEX1 = 0xcafebabe; + final static int INDEX2 = 0xbabecafe; + final static int INDEX3 = 0xdeadbeef; + + static boolean printStackTrace; + + public static void main(String[] argv) { + printStackTrace = true; + +// if (argv.length > 0) +// if (argv[0].equals("stacktrace")) +// printStackTrace = true; + + boolean catched = false; + + pln("---------- normal exceptions --------------------"); + + try { + p("throw new Exception():"); + throw new Exception(); + } catch (Exception e) { + catched = true; + ok(); + pstacktrace(e); + + } finally { + /* check if catch block was executed */ + if (!catched) { + failed(); + } + } + + try { + p("throw new Exception() (from subroutines):"); + sub(); + failed(); + } catch (Exception e) { + ok(); + pstacktrace(e); + } + + try { + p("NullPointerException:"); + int[] ia = null; + int i = ia.length; + failed(); + } catch (NullPointerException e) { + ok(); + pstacktrace(e); + } + + pln(); + + + pln("---------- test soft inline exceptions ----------"); + pln("/* thrown twice to check the inline jump code */"); + + try { + p("ArithmeticException (only w/ -softnull):"); + int i = 1, j = 0, k = i / j; + failed(); + } catch (ArithmeticException e) { + String msg = e.getMessage(); + + if (msg == null || !msg.equals("/ by zero")) { + pln("FAILED: wrong message: " + msg + ", should be: / by zero"); + pstacktrace(e); + } else { + ok(); + pstacktrace(e); + } + } + + try { + p("ArithmeticException (only w/ -softnull):"); + long i = 1, j = 0, k = i / j; + failed(); + } catch (ArithmeticException e) { + String msg = e.getMessage(); + + if (msg == null || !msg.equals("/ by zero")) { + pln("FAILED: wrong message: " + msg + ", should be: / by zero"); + + } else { + ok(); + pstacktrace(e); + } + } + + + try { + p("ArrayIndexOutOfBoundsException:"); + int[] ia = new int[1]; + ia[INDEX1] = 1; + failed(); + } catch (ArrayIndexOutOfBoundsException e) { + String msg = e.getMessage(); + + if (msg == null || !msg.equals(String.valueOf(INDEX1))) { + pln("FAILED: wrong index: " + msg + ", should be: " + INDEX1); + pstacktrace(e); + } else { + ok(); + pstacktrace(e); + } + } + + try { + p("ArrayIndexOutOfBoundsException:"); + int[] ia = new int[1]; + ia[INDEX2] = 1; + failed(); + } catch (ArrayIndexOutOfBoundsException e) { + String msg = e.getMessage(); + + if (msg == null || !msg.equals(String.valueOf(INDEX2))) { + pln("FAILED: wrong index: " + msg + ", should be: " + INDEX2); + pstacktrace(e); + } else { + ok(); + pstacktrace(e); + + } + } + + + try { + p("ArrayStoreException:"); + Integer[] ia = new Integer[1]; + Object[] oa = (Object[]) ia; + oa[0] = new Object(); + failed(); + } catch (ArrayStoreException e) { + ok(); + pstacktrace(e); + } + + try { + p("ArrayStoreException:"); + Integer[] ia = new Integer[1]; + Object[] oa = (Object[]) ia; + oa[0] = new Object(); + failed(); + } catch (ArrayStoreException e) { + ok(); + pstacktrace(e); + } + + + try { + p("ClassCastException:"); + Object o = new Object(); + Integer i = (Integer) o; + failed(); + } catch (ClassCastException e) { + ok(); + pstacktrace(e); + } + + try { + p("ClassCastException:"); + Object o = new Object(); + Integer i = null; + i = (Integer) o; + failed(); + } catch (ClassCastException e) { + ok(); + pstacktrace(e); + } + + + try { + p("NegativeArraySizeException:"); + int[] ia = new int[-1]; + failed(); + } catch (NegativeArraySizeException e) { + ok(); + pstacktrace(e); + } + + try { + p("NegativeArraySizeException:"); + int[] ia = new int[-1]; + failed(); + } catch (NegativeArraySizeException e) { + ok(); + pstacktrace(e); + } + + + try { + p("NullPointerException (only w/ -softnull):"); + int[] ia = null; + int i = ia.length; + failed(); + } catch (NullPointerException e) { + ok(); + pstacktrace(e); + } + + try { + p("NullPointerException (only w/ -softnull):"); + int[] ia = null; + int i = ia.length; + failed(); + } catch (NullPointerException e) { + ok(); + pstacktrace(e); + } + + try { + p("OutOfMemoryError:"); + /* 100 MB should be enough */ + byte[] ba = new byte[100 * 1024 * 1024]; + failed(); + } catch (OutOfMemoryError e) { + ok(); + pstacktrace(e); + } + + try { + p("OutOfMemoryError:"); + /* 100 MB should be enough */ + byte[] ba = new byte[100 * 1024 * 1024]; + failed(); + } catch (OutOfMemoryError e) { + ok(); + pstacktrace(e); + } + + pln(); + + + pln("---------- exceptions in leaf functions ---------"); + + try { + p("ArithmeticException:"); + aesub(1, 0); + failed(); + } catch (ArithmeticException e) { + ok(); + pstacktrace(e); + } + + try { + p("ArrayIndexOutOfBoundsException:"); + aioobesub(new int[1]); + failed(); + } catch (ArrayIndexOutOfBoundsException e) { + String msg = e.getMessage(); + + if (msg == null || !msg.equals(String.valueOf(INDEX3))) { + pln("FAILED: wrong index: " + msg + ", should be: " + INDEX3); + pstacktrace(e); + } else { + ok(); + pstacktrace(e); + + } + } + + try { + p("ClassCastException:"); + ccesub(new Object(), new Integer(0)); + failed(); + } catch (ClassCastException e) { + ok(); + pstacktrace(e); + } + + try { + p("NullPointerException:"); + npesub(null); + failed(); + } catch (NullPointerException e) { + ok(); + pstacktrace(e); + } + + pln(); + + + pln("---------- some asmpart exceptions --------------"); + + try { + p("NullPointerException in (PUTSTATIC):"); + extest_clinit_1.i = 1; + failed(); + } catch (ExceptionInInitializerError e) { + if (e.getCause().getClass() != NullPointerException.class) { + failed(); + } else { + ok(); + pstacktrace(e); + } + } + + try { + p("NullPointerException in (GETSTATIC):"); + int i = extest_clinit_2.i; + failed(); + } catch (ExceptionInInitializerError e) { + if (e.getCause().getClass() != NullPointerException.class) { + failed(); + } else { + ok(); + pstacktrace(e); + } + } + + pln(); + + + pln("---------- exception related things -------------"); + + try { + p("load/link an exception class in asmpart:"); + throw new Exception(); + } catch (UnknownError e) { + /* this exception class MUST NOT be loaded before!!! + otherwise this test in useless */ + } catch (Exception e) { + ok(); + pstacktrace(e); + } + + pln(); + + + pln("---------- native stub exceptions ---------------"); + + try { + p("NullPointerException (native):"); + System.arraycopy(null, 1, null, 1, 1); + failed(); + } catch (Exception e) { + ok(); + pstacktrace(e); + } + + try { + p("NullPointerException in :"); + extest_clinit_3.sub(); + failed(); + } catch (ExceptionInInitializerError e) { + ok(); + pstacktrace(e); + } catch (UnsatisfiedLinkError e) { + /* catch this one for staticvm and say it's ok */ + ok(); + pstacktrace(e); + } + + /* + try { + p("UnsatisfiedLinkError:"); + nsub(); + failed(); + } catch (UnsatisfiedLinkError e) { + ok(); + pstacktrace(e); + } + */ + + pln(); + + + pln("---------- no OK beyond this point --------------"); + + pln("NullPointerException (without catch):"); + String s = null; + int i = s.length(); + failed(); + } + + synchronized static void sub() throws Exception { + sub2(); + } + + static void sub2() throws Exception { + sub3(); + } + + synchronized static void sub3() throws Exception { + sub4(); + } + + static void sub4() throws Exception { + throw new Exception(); + } + + static void aesub(int a, int b) { + int c = a / b; + } + + static void aioobesub(int[] ia) { + ia[INDEX3] = 0; + } + + static void ccesub(Object o, Integer i) { + i = (Integer) o; + } + + static void npesub(int[] ia) { + int a = ia.length; + } + + static native void nsub(); + + static void p(String s) { + System.out.print(s); + for (int i = s.length(); i < 46; i++) { + System.out.print(" "); + } + } + + static void pln() { + System.out.println(); + } + + static void pln(String s) { + System.out.println(s); + } + + static void ok() { + pln("OK"); + } + + static void failed() { + pln("FAILED"); + } + + static void pstacktrace(Throwable e) { + if (!printStackTrace) + return; + e.printStackTrace(); + System.out.println(); + } +} + +public class extest_clinit_1 { + static { + String s = null; + s.length(); + } + + public static int i; +} + +public class extest_clinit_2 { + static { + String s = null; + s.length(); + } + + public static int i; +} + +public class extest_clinit_3 { + static { + String s = null; + s.length(); + } + + public static native void sub(); +} diff --git a/tests/regression/fp.java b/tests/regression/fp.java new file mode 100644 index 000000000..9209dbafa --- /dev/null +++ b/tests/regression/fp.java @@ -0,0 +1,82 @@ +public class fp { + public static void main(String [] s) { + p("-------------------- testfloat --------------------"); + testfloat(10.0F, 10.0F); + + p("-------------------- testdouble --------------------"); + testdouble(10.0, 10.0); + } + + public static void testfloat(float a, float b) { + int i; + float x = a; + + p("---------- test fmul ----------"); + for (i = 0; i < 50; i++) { + a *= b; + p(a); + } + + p("---------- test fdiv ----------"); + a = x; + for (i = 0; i < 50; i++) { + a /= b; + p(a); + } + + for (a = 0; a < 1; a += 0.2) { + for (b = 0; b < 1; b += 0.2) { + System.out.println("-----------"); + p(a); + p(b); + p(a + b); + p(a - b); + p(a * b); + p(a / b); + } + } + } + + public static void testdouble(double a, double b) { + int i; + double x = a; + + p("---------- test dmul ----------"); + for (i = 0; i < 330; i++) { + a *= b; + p(a); + } + + p("---------- test ddiv ----------"); + a = x; + for (i = 0; i < 330; i++) { + a /= b; + p(a); + } + + for (a = 0; a < 1; a += 0.2) { + for (b = 0; b < 1; b += 0.2) { + System.out.println("-----------"); + p(a); + p(b); + p(a + b); + p(a - b); + p(a * b); + p(a / b); + } + } + } + + public static void p(String s) { + System.out.println(s); + } + + public static void p(double d) { + System.out.println(d); + } + + public static void p(float d) { + System.out.println(d); + } + +} diff --git a/tests/regression/fp.output b/tests/regression/fp.output new file mode 100644 index 000000000..f0b0c7406 --- /dev/null +++ b/tests/regression/fp.output @@ -0,0 +1,1116 @@ +-------------------- testfloat -------------------- +---------- test fmul ---------- +100.0 +1000.0 +10000.0 +100000.0 +1000000.0 +1.0E7 +1.0E8 +1.0E9 +1.0E10 +9.9999997952E10 +9.99999995904E11 +9.999999827968E12 +1.00000000376832E14 +9.99999986991104E14 +1.0E16 +1.0E17 +1.0E18 +1.0E19 +1.0E20 +1.0E21 +1.0E22 +1.0E23 +1.0E24 +1.0000001E25 +1.0E26 +1.00000006E27 +1.0000001E28 +1.0E29 +1.0E30 +1.0E31 +1.0E32 +1.0000001E33 +1.00000004E34 +1.0E35 +1.00000004E36 +1.00000006E37 +1.0000001E38 +Infinity +Infinity +Infinity +Infinity +Infinity +Infinity +Infinity +Infinity +Infinity +Infinity +Infinity +Infinity +Infinity +---------- test fdiv ---------- +1.0 +0.1 +0.01 +9.999999E-4 +9.999999E-5 +9.999999E-6 +9.999999E-7 +9.999999E-8 +9.999999E-9 +9.999999E-10 +9.999999E-11 +9.999999E-12 +9.999999E-13 +9.999999E-14 +9.999999E-15 +9.999999E-16 +9.999999E-17 +9.999999E-18 +9.999999E-19 +1.0E-19 +1.0E-20 +1.0E-21 +9.9999997E-23 +1.0E-23 +1.0E-24 +1.0E-25 +1.0E-26 +1.0E-27 +1.0E-28 +1.0E-29 +1.0E-30 +1.0E-31 +9.9999995E-33 +9.999999E-34 +9.999999E-35 +9.9999995E-36 +9.9999995E-37 +1.0E-37 +9.9999994E-39 +1.0000002E-39 +9.999946E-41 +9.999666E-42 +1.0005271E-42 +9.949219E-44 +9.809089E-45 +1.4012985E-45 +0.0 +0.0 +0.0 +0.0 +----------- +0.0 +0.0 +0.0 +0.0 +0.0 +NaN +----------- +0.0 +0.2 +0.2 +-0.2 +0.0 +0.0 +----------- +0.0 +0.4 +0.4 +-0.4 +0.0 +0.0 +----------- +0.0 +0.6 +0.6 +-0.6 +0.0 +0.0 +----------- +0.0 +0.8 +0.8 +-0.8 +0.0 +0.0 +----------- +0.2 +0.0 +0.2 +0.2 +0.0 +Infinity +----------- +0.2 +0.2 +0.4 +0.0 +0.040000003 +1.0 +----------- +0.2 +0.4 +0.6 +-0.2 +0.080000006 +0.5 +----------- +0.2 +0.6 +0.8 +-0.40000004 +0.120000005 +0.3333333 +----------- +0.2 +0.8 +1.0 +-0.6 +0.16000001 +0.25 +----------- +0.4 +0.0 +0.4 +0.4 +0.0 +Infinity +----------- +0.4 +0.2 +0.6 +0.2 +0.080000006 +2.0 +----------- +0.4 +0.4 +0.8 +0.0 +0.16000001 +1.0 +----------- +0.4 +0.6 +1.0 +-0.20000002 +0.24000001 +0.6666666 +----------- +0.4 +0.8 +1.2 +-0.4 +0.32000002 +0.5 +----------- +0.6 +0.0 +0.6 +0.6 +0.0 +Infinity +----------- +0.6 +0.2 +0.8 +0.40000004 +0.120000005 +3.0 +----------- +0.6 +0.4 +1.0 +0.20000002 +0.24000001 +1.5 +----------- +0.6 +0.6 +1.2 +0.0 +0.36 +1.0 +----------- +0.6 +0.8 +1.4000001 +-0.19999999 +0.48000002 +0.75 +----------- +0.8 +0.0 +0.8 +0.8 +0.0 +Infinity +----------- +0.8 +0.2 +1.0 +0.6 +0.16000001 +4.0 +----------- +0.8 +0.4 +1.2 +0.4 +0.32000002 +2.0 +----------- +0.8 +0.6 +1.4000001 +0.19999999 +0.48000002 +1.3333333 +----------- +0.8 +0.8 +1.6 +0.0 +0.64000005 +1.0 +-------------------- testdouble -------------------- +---------- test dmul ---------- +100.0 +1000.0 +10000.0 +100000.0 +1000000.0 +1.0E7 +1.0E8 +1.0E9 +1.0E10 +1.0E11 +1.0E12 +1.0E13 +1.0E14 +1.0E15 +1.0E16 +1.0E17 +1.0E18 +1.0E19 +1.0E20 +1.0E21 +1.0E22 +1.0E23 +1.0E24 +9.999999999999999E24 +9.999999999999999E25 +9.999999999999999E26 +1.0E28 +1.0E29 +9.999999999999999E29 +9.999999999999999E30 +9.999999999999999E31 +1.0E33 +1.0E34 +1.0E35 +9.999999999999999E35 +9.999999999999998E36 +9.999999999999998E37 +9.999999999999998E38 +9.999999999999998E39 +9.999999999999998E40 +9.999999999999999E41 +9.999999999999999E42 +9.999999999999999E43 +1.0E45 +1.0E46 +1.0E47 +1.0E48 +1.0000000000000001E49 +1.0E50 +1.0E51 +1.0E52 +1.0E53 +1.0E54 +1.0000000000000001E55 +1.0E56 +1.0E57 +1.0000000000000001E58 +1.0000000000000001E59 +1.0000000000000001E60 +1.0000000000000001E61 +1.0000000000000001E62 +1.0000000000000002E63 +1.0000000000000002E64 +1.0000000000000002E65 +1.0000000000000001E66 +1.0000000000000001E67 +1.0000000000000001E68 +1.0E69 +1.0E70 +1.0E71 +1.0000000000000001E72 +1.0000000000000001E73 +1.0000000000000001E74 +1.0000000000000001E75 +1.0E76 +1.0000000000000001E77 +1.0000000000000002E78 +1.0000000000000001E79 +1.0000000000000001E80 +1.0000000000000001E81 +1.0000000000000001E82 +1.0000000000000002E83 +1.0000000000000003E84 +1.0000000000000004E85 +1.0000000000000003E86 +1.0000000000000004E87 +1.0000000000000005E88 +1.0000000000000004E89 +1.0000000000000004E90 +1.0000000000000004E91 +1.0000000000000005E92 +1.0000000000000005E93 +1.0000000000000006E94 +1.0000000000000006E95 +1.0000000000000006E96 +1.0000000000000006E97 +1.0000000000000006E98 +1.0000000000000006E99 +1.0000000000000006E100 +1.0000000000000006E101 +1.0000000000000006E102 +1.0000000000000006E103 +1.0000000000000006E104 +1.0000000000000007E105 +1.0000000000000007E106 +1.0000000000000006E107 +1.0000000000000006E108 +1.0000000000000006E109 +1.0000000000000007E110 +1.0000000000000006E111 +1.0000000000000006E112 +1.0000000000000005E113 +1.0000000000000006E114 +1.0000000000000005E115 +1.0000000000000005E116 +1.0000000000000005E117 +1.0000000000000005E118 +1.0000000000000005E119 +1.0000000000000006E120 +1.0000000000000006E121 +1.0000000000000006E122 +1.0000000000000006E123 +1.0000000000000005E124 +1.0000000000000005E125 +1.0000000000000005E126 +1.0000000000000006E127 +1.0000000000000005E128 +1.0000000000000005E129 +1.0000000000000004E130 +1.0000000000000005E131 +1.0000000000000005E132 +1.0000000000000005E133 +1.0000000000000005E134 +1.0000000000000004E135 +1.0000000000000004E136 +1.0000000000000004E137 +1.0000000000000004E138 +1.0000000000000004E139 +1.0000000000000005E140 +1.0000000000000005E141 +1.0000000000000005E142 +1.0000000000000005E143 +1.0000000000000005E144 +1.0000000000000005E145 +1.0000000000000006E146 +1.0000000000000007E147 +1.0000000000000006E148 +1.0000000000000006E149 +1.0000000000000005E150 +1.0000000000000005E151 +1.0000000000000005E152 +1.0000000000000006E153 +1.0000000000000005E154 +1.0000000000000005E155 +1.0000000000000006E156 +1.0000000000000006E157 +1.0000000000000006E158 +1.0000000000000005E159 +1.0000000000000005E160 +1.0000000000000005E161 +1.0000000000000005E162 +1.0000000000000006E163 +1.0000000000000005E164 +1.0000000000000005E165 +1.0000000000000004E166 +1.0000000000000004E167 +1.0000000000000004E168 +1.0000000000000004E169 +1.0000000000000004E170 +1.0000000000000004E171 +1.0000000000000004E172 +1.0000000000000004E173 +1.0000000000000005E174 +1.0000000000000005E175 +1.0000000000000004E176 +1.0000000000000005E177 +1.0000000000000004E178 +1.0000000000000004E179 +1.0000000000000005E180 +1.0000000000000005E181 +1.0000000000000005E182 +1.0000000000000005E183 +1.0000000000000006E184 +1.0000000000000006E185 +1.0000000000000006E186 +1.0000000000000005E187 +1.0000000000000005E188 +1.0000000000000005E189 +1.0000000000000005E190 +1.0000000000000005E191 +1.0000000000000005E192 +1.0000000000000005E193 +1.0000000000000004E194 +1.0000000000000004E195 +1.0000000000000004E196 +1.0000000000000003E197 +1.0000000000000003E198 +1.0000000000000003E199 +1.0000000000000003E200 +1.0000000000000003E201 +1.0000000000000003E202 +1.0000000000000003E203 +1.0000000000000004E204 +1.0000000000000004E205 +1.0000000000000004E206 +1.0000000000000003E207 +1.0000000000000003E208 +1.0000000000000003E209 +1.0000000000000002E210 +1.0000000000000002E211 +1.0000000000000003E212 +1.0000000000000003E213 +1.0000000000000003E214 +1.0000000000000003E215 +1.0000000000000003E216 +1.0000000000000003E217 +1.0000000000000003E218 +1.0000000000000003E219 +1.0000000000000002E220 +1.0000000000000002E221 +1.0000000000000002E222 +1.0000000000000002E223 +1.0000000000000002E224 +1.0000000000000001E225 +1.0000000000000001E226 +1.0E227 +1.0000000000000001E228 +1.0000000000000001E229 +1.0E230 +1.0E231 +1.0E232 +1.0E233 +1.0E234 +1.0E235 +1.0E236 +1.0000000000000001E237 +1.0E238 +1.0000000000000001E239 +1.0000000000000002E240 +1.0000000000000002E241 +1.0000000000000002E242 +1.0E243 +1.0E244 +1.0E245 +1.0E246 +1.0000000000000001E247 +1.0000000000000002E248 +1.0000000000000001E249 +1.0000000000000001E250 +1.0E251 +1.0E252 +1.0000000000000001E253 +1.0000000000000001E254 +1.0E255 +1.0E256 +1.0E257 +1.0E258 +1.0000000000000001E259 +1.0E260 +1.0000000000000001E261 +1.0000000000000002E262 +1.0000000000000002E263 +1.0000000000000002E264 +1.0000000000000002E265 +1.0000000000000003E266 +1.0000000000000003E267 +1.0000000000000003E268 +1.0000000000000003E269 +1.0000000000000003E270 +1.0000000000000003E271 +1.0000000000000004E272 +1.0000000000000003E273 +1.0000000000000003E274 +1.0000000000000003E275 +1.0000000000000003E276 +1.0000000000000002E277 +1.0000000000000001E278 +1.0000000000000002E279 +1.0000000000000002E280 +1.0000000000000002E281 +1.0000000000000002E282 +1.0000000000000002E283 +1.0000000000000002E284 +1.0000000000000002E285 +1.0000000000000002E286 +1.0000000000000002E287 +1.0000000000000003E288 +1.0000000000000003E289 +1.0000000000000002E290 +1.0000000000000002E291 +1.0000000000000002E292 +1.0000000000000003E293 +1.0000000000000002E294 +1.0000000000000002E295 +1.0000000000000002E296 +1.0000000000000002E297 +1.0000000000000002E298 +1.0000000000000002E299 +1.0000000000000002E300 +1.0000000000000002E301 +1.0E302 +1.0E303 +1.0E304 +1.0E305 +9.999999999999999E305 +9.999999999999999E306 +9.999999999999998E307 +Infinity +Infinity +Infinity +Infinity +Infinity +Infinity +Infinity +Infinity +Infinity +Infinity +Infinity +Infinity +Infinity +Infinity +Infinity +Infinity +Infinity +Infinity +Infinity +Infinity +Infinity +Infinity +Infinity +---------- test ddiv ---------- +1.0 +0.1 +0.01 +0.001 +1.0E-4 +1.0E-5 +1.0000000000000002E-6 +1.0000000000000002E-7 +1.0000000000000002E-8 +1.0000000000000003E-9 +1.0000000000000003E-10 +1.0000000000000003E-11 +1.0000000000000002E-12 +1.0000000000000002E-13 +1.0000000000000002E-14 +1.0E-15 +1.0000000000000001E-16 +1.0E-17 +1.0E-18 +1.0000000000000001E-19 +1.0000000000000001E-20 +1.0000000000000001E-21 +1.0E-22 +1.0000000000000001E-23 +1.0000000000000001E-24 +1.0000000000000002E-25 +1.0000000000000002E-26 +1.0000000000000002E-27 +1.0000000000000002E-28 +1.0000000000000002E-29 +1.0000000000000003E-30 +1.0000000000000003E-31 +1.0000000000000003E-32 +1.0000000000000004E-33 +1.0000000000000004E-34 +1.0000000000000004E-35 +1.0000000000000004E-36 +1.0000000000000005E-37 +1.0000000000000005E-38 +1.0000000000000004E-39 +1.0000000000000003E-40 +1.0000000000000004E-41 +1.0000000000000004E-42 +1.0000000000000003E-43 +1.0000000000000003E-44 +1.0000000000000003E-45 +1.0000000000000002E-46 +1.0000000000000002E-47 +1.0000000000000003E-48 +1.0000000000000003E-49 +1.0000000000000004E-50 +1.0000000000000003E-51 +1.0000000000000004E-52 +1.0000000000000004E-53 +1.0000000000000003E-54 +1.0000000000000004E-55 +1.0000000000000004E-56 +1.0000000000000004E-57 +1.0000000000000004E-58 +1.0000000000000005E-59 +1.0000000000000005E-60 +1.0000000000000006E-61 +1.0000000000000005E-62 +1.0000000000000005E-63 +1.0000000000000005E-64 +1.0000000000000006E-65 +1.0000000000000005E-66 +1.0000000000000004E-67 +1.0000000000000005E-68 +1.0000000000000005E-69 +1.0000000000000005E-70 +1.0000000000000005E-71 +1.0000000000000005E-72 +1.0000000000000005E-73 +1.0000000000000005E-74 +1.0000000000000006E-75 +1.0000000000000005E-76 +1.0000000000000005E-77 +1.0000000000000005E-78 +1.0000000000000004E-79 +1.0000000000000005E-80 +1.0000000000000005E-81 +1.0000000000000005E-82 +1.0000000000000006E-83 +1.0000000000000006E-84 +1.0000000000000005E-85 +1.0000000000000006E-86 +1.0000000000000006E-87 +1.0000000000000006E-88 +1.0000000000000006E-89 +1.0000000000000006E-90 +1.0000000000000007E-91 +1.0000000000000007E-92 +1.0000000000000008E-93 +1.0000000000000008E-94 +1.0000000000000008E-95 +1.0000000000000007E-96 +1.0000000000000007E-97 +1.0000000000000008E-98 +1.0000000000000008E-99 +1.0000000000000008E-100 +1.0000000000000008E-101 +1.000000000000001E-102 +1.000000000000001E-103 +1.000000000000001E-104 +1.000000000000001E-105 +1.0000000000000009E-106 +1.0000000000000009E-107 +1.000000000000001E-108 +1.0000000000000009E-109 +1.000000000000001E-110 +1.000000000000001E-111 +1.000000000000001E-112 +1.000000000000001E-113 +1.000000000000001E-114 +1.000000000000001E-115 +1.000000000000001E-116 +1.0000000000000009E-117 +1.0000000000000009E-118 +1.0000000000000008E-119 +1.0000000000000008E-120 +1.0000000000000008E-121 +1.0000000000000009E-122 +1.0000000000000009E-123 +1.000000000000001E-124 +1.0000000000000009E-125 +1.000000000000001E-126 +1.0000000000000008E-127 +1.0000000000000008E-128 +1.0000000000000009E-129 +1.0000000000000009E-130 +1.0000000000000009E-131 +1.000000000000001E-132 +1.0000000000000008E-133 +1.0000000000000009E-134 +1.000000000000001E-135 +1.000000000000001E-136 +1.0000000000000009E-137 +1.000000000000001E-138 +1.000000000000001E-139 +1.0000000000000009E-140 +1.0000000000000009E-141 +1.000000000000001E-142 +1.000000000000001E-143 +1.000000000000001E-144 +1.000000000000001E-145 +1.000000000000001E-146 +1.0000000000000011E-147 +1.0000000000000012E-148 +1.000000000000001E-149 +1.0000000000000011E-150 +1.0000000000000011E-151 +1.0000000000000011E-152 +1.0000000000000011E-153 +1.0000000000000011E-154 +1.000000000000001E-155 +1.0000000000000011E-156 +1.000000000000001E-157 +1.000000000000001E-158 +1.0000000000000011E-159 +1.0000000000000011E-160 +1.000000000000001E-161 +1.0000000000000011E-162 +1.000000000000001E-163 +1.000000000000001E-164 +1.000000000000001E-165 +1.000000000000001E-166 +1.000000000000001E-167 +1.000000000000001E-168 +1.000000000000001E-169 +1.000000000000001E-170 +1.0000000000000011E-171 +1.0000000000000012E-172 +1.0000000000000011E-173 +1.0000000000000011E-174 +1.0000000000000011E-175 +1.000000000000001E-176 +1.000000000000001E-177 +1.000000000000001E-178 +1.000000000000001E-179 +1.000000000000001E-180 +1.0000000000000011E-181 +1.000000000000001E-182 +1.000000000000001E-183 +1.0000000000000011E-184 +1.0000000000000011E-185 +1.0000000000000011E-186 +1.0000000000000012E-187 +1.0000000000000012E-188 +1.0000000000000013E-189 +1.0000000000000013E-190 +1.0000000000000013E-191 +1.0000000000000013E-192 +1.0000000000000013E-193 +1.0000000000000012E-194 +1.0000000000000012E-195 +1.0000000000000012E-196 +1.0000000000000012E-197 +1.0000000000000012E-198 +1.0000000000000013E-199 +1.0000000000000013E-200 +1.0000000000000012E-201 +1.0000000000000012E-202 +1.0000000000000012E-203 +1.0000000000000012E-204 +1.0000000000000013E-205 +1.0000000000000013E-206 +1.0000000000000013E-207 +1.0000000000000014E-208 +1.0000000000000014E-209 +1.0000000000000014E-210 +1.0000000000000014E-211 +1.0000000000000014E-212 +1.0000000000000014E-213 +1.0000000000000014E-214 +1.0000000000000013E-215 +1.0000000000000013E-216 +1.0000000000000013E-217 +1.0000000000000013E-218 +1.0000000000000013E-219 +1.0000000000000014E-220 +1.0000000000000014E-221 +1.0000000000000014E-222 +1.0000000000000015E-223 +1.0000000000000015E-224 +1.0000000000000015E-225 +1.0000000000000014E-226 +1.0000000000000015E-227 +1.0000000000000015E-228 +1.0000000000000015E-229 +1.0000000000000015E-230 +1.0000000000000016E-231 +1.0000000000000016E-232 +1.0000000000000016E-233 +1.0000000000000016E-234 +1.0000000000000017E-235 +1.0000000000000018E-236 +1.0000000000000018E-237 +1.0000000000000017E-238 +1.0000000000000018E-239 +1.0000000000000018E-240 +1.0000000000000018E-241 +1.0000000000000018E-242 +1.0000000000000018E-243 +1.0000000000000019E-244 +1.000000000000002E-245 +1.000000000000002E-246 +1.000000000000002E-247 +1.000000000000002E-248 +1.0000000000000019E-249 +1.0000000000000019E-250 +1.000000000000002E-251 +1.000000000000002E-252 +1.000000000000002E-253 +1.000000000000002E-254 +1.000000000000002E-255 +1.000000000000002E-256 +1.000000000000002E-257 +1.000000000000002E-258 +1.0000000000000021E-259 +1.0000000000000021E-260 +1.0000000000000021E-261 +1.0000000000000021E-262 +1.0000000000000021E-263 +1.0000000000000022E-264 +1.0000000000000022E-265 +1.0000000000000022E-266 +1.0000000000000021E-267 +1.0000000000000021E-268 +1.0000000000000021E-269 +1.0000000000000021E-270 +1.0000000000000022E-271 +1.0000000000000022E-272 +1.0000000000000021E-273 +1.0000000000000021E-274 +1.0000000000000022E-275 +1.000000000000002E-276 +1.0000000000000021E-277 +1.0000000000000021E-278 +1.0000000000000022E-279 +1.0000000000000022E-280 +1.0000000000000022E-281 +1.0000000000000021E-282 +1.0000000000000021E-283 +1.0000000000000021E-284 +1.0000000000000021E-285 +1.0000000000000022E-286 +1.0000000000000022E-287 +1.0000000000000022E-288 +1.0000000000000023E-289 +1.0000000000000023E-290 +1.0000000000000023E-291 +1.0000000000000023E-292 +1.0000000000000023E-293 +1.0000000000000023E-294 +1.0000000000000022E-295 +1.0000000000000022E-296 +1.0000000000000022E-297 +1.0000000000000022E-298 +1.0000000000000022E-299 +1.0000000000000022E-300 +1.0000000000000021E-301 +1.0000000000000022E-302 +1.0000000000000022E-303 +1.0000000000000022E-304 +1.0000000000000021E-305 +1.0000000000000021E-306 +1.000000000000002E-307 +1.000000000000002E-308 +1.0E-309 +1.0E-310 +1.0E-311 +1.0E-312 +1.0E-313 +1.0E-314 +1.0E-315 +1.0E-316 +9.999997E-318 +1.0E-318 +1.0E-319 +1.0E-320 +1.0E-321 +1.0E-322 +1.0E-323 +0.0 +0.0 +0.0 +0.0 +0.0 +0.0 +----------- +0.0 +0.0 +0.0 +0.0 +0.0 +NaN +----------- +0.0 +0.2 +0.2 +-0.2 +0.0 +0.0 +----------- +0.0 +0.4 +0.4 +-0.4 +0.0 +0.0 +----------- +0.0 +0.6000000000000001 +0.6000000000000001 +-0.6000000000000001 +0.0 +0.0 +----------- +0.0 +0.8 +0.8 +-0.8 +0.0 +0.0 +----------- +0.2 +0.0 +0.2 +0.2 +0.0 +Infinity +----------- +0.2 +0.2 +0.4 +0.0 +0.04000000000000001 +1.0 +----------- +0.2 +0.4 +0.6000000000000001 +-0.2 +0.08000000000000002 +0.5 +----------- +0.2 +0.6000000000000001 +0.8 +-0.4000000000000001 +0.12000000000000002 +0.3333333333333333 +----------- +0.2 +0.8 +1.0 +-0.6000000000000001 +0.16000000000000003 +0.25 +----------- +0.4 +0.0 +0.4 +0.4 +0.0 +Infinity +----------- +0.4 +0.2 +0.6000000000000001 +0.2 +0.08000000000000002 +2.0 +----------- +0.4 +0.4 +0.8 +0.0 +0.16000000000000003 +1.0 +----------- +0.4 +0.6000000000000001 +1.0 +-0.20000000000000007 +0.24000000000000005 +0.6666666666666666 +----------- +0.4 +0.8 +1.2000000000000002 +-0.4 +0.32000000000000006 +0.5 +----------- +0.6000000000000001 +0.0 +0.6000000000000001 +0.6000000000000001 +0.0 +Infinity +----------- +0.6000000000000001 +0.2 +0.8 +0.4000000000000001 +0.12000000000000002 +3.0000000000000004 +----------- +0.6000000000000001 +0.4 +1.0 +0.20000000000000007 +0.24000000000000005 +1.5000000000000002 +----------- +0.6000000000000001 +0.6000000000000001 +1.2000000000000002 +0.0 +0.3600000000000001 +1.0 +----------- +0.6000000000000001 +0.8 +1.4000000000000001 +-0.19999999999999996 +0.4800000000000001 +0.7500000000000001 +----------- +0.8 +0.0 +0.8 +0.8 +0.0 +Infinity +----------- +0.8 +0.2 +1.0 +0.6000000000000001 +0.16000000000000003 +4.0 +----------- +0.8 +0.4 +1.2000000000000002 +0.4 +0.32000000000000006 +2.0 +----------- +0.8 +0.6000000000000001 +1.4000000000000001 +0.19999999999999996 +0.4800000000000001 +1.3333333333333333 +----------- +0.8 +0.8 +1.6 +0.0 +0.6400000000000001 +1.0 diff --git a/tests/regression/fptest.java b/tests/regression/fptest.java new file mode 100644 index 000000000..b670960e4 --- /dev/null +++ b/tests/regression/fptest.java @@ -0,0 +1,319 @@ +/* tests/fptest.java - checks most of the floating point instructions + + Copyright (C) 1996-2005 R. Grafl, A. Krall, C. Kruegel, C. Oates, + R. Obermaisser, M. Platter, M. Probst, S. Ring, E. Steiner, + C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich, J. Wenninger, + TU Wien + + This file is part of CACAO. + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2, or (at + your option) any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + 02111-1307, USA. + + Contact: cacao@complang.tuwien.ac.at + + Authors: Andreas Krall + + Changes: Christian Thalinger + + $Id: fptest.java 3061 2005-07-19 08:52:11Z twisti $ + +*/ + +public class fptest { + public static void main(String [] s) { + float fnan = Float.NaN; + float fpinf = Float.POSITIVE_INFINITY; + float fninf = Float.NEGATIVE_INFINITY; + float fmax = Float.MAX_VALUE; + float fmin = Float.MIN_VALUE; + float f1 = 0F; + float f2 = 0F; + + double dnan = Double.NaN; + double dpinf = Double.POSITIVE_INFINITY; + double dninf = Double.NEGATIVE_INFINITY; + double dmax = Double.MAX_VALUE; + double dmin = Double.MIN_VALUE; + double d1 = 0D; + double d2 = 0D; + + p("---------------------------- tests NaNs and Infs -------------------"); + p("------------------- print NaNs and Infs"); + + p("NaNQ ", fnan); + p("+INF ", fpinf); + p("-INF ", fninf); + + p("NaNQ ", dnan); + p("+INF ", dpinf); + p("-INF ", dninf); + + p("------------------- test zero division"); + + zerodiv("0 / 0 = NaNQ ", 0F, f1); + zerodiv("+ / 0 = +INF ", 5F, f1); + zerodiv("- / 0 = -INF ", -5F, f1); + + zerodiv("0 / 0 = NaNQ ", 0D, d1); + zerodiv("+ / 0 = +INF ", 5D, d1); + zerodiv("- / 0 = -INF ", -5D, d1); + + p("------------------- test conversions"); + testfcvt("NaNQ", fnan, dnan); + testfcvt("+INF", fpinf, dpinf); + testfcvt("-INF", fninf, dninf); + testfcvt(" MAX", fmax, dmax); + testfcvt(" MIN", fmin, dmin); + testfcvt("MAXINT-1", 2147483646.0F, 2147483646.0D); + testfcvt("MAXINT+0", 2147483647.0F, 2147483647.0D); + testfcvt("MAXINT+1", 2147483648.0F, 2147483648.0D); + testfcvt("-MAXINT+1", -2147483647.0F, -2147483647.0D); + testfcvt("-MAXINT+0", -2147483648.0F, -2147483648.0D); + testfcvt("-MAXINT-1", -2147483649.0F, -2147483649.0D); + testfcvt("MAXLNG-1", 9223372036854775806.0F, 9223372036854775806.0D); + testfcvt("MAXLNG+0", 9223372036854775807.0F, 9223372036854775807.0D); + testfcvt("MAXLNG+1", 9223372036854775808.0F, 9223372036854775808.0D); + testfcvt("-MAXLNG+1", -9223372036854775807.0F, -9223372036854775807.0D); + testfcvt("-MAXLNG+0", -9223372036854775808.0F, -9223372036854775808.0D); + testfcvt("-MAXLNG-1", -9223372036854775809.0F, -9223372036854775809.0D); + + p("------------------- test NaNQ op value"); + testfops("NaNQ", "-5.0", fnan, -5F, dnan, -5D); + testfcmp("NaNQ", "-5.0", fnan, -5F, dnan, -5D); + testfops("NaNQ", "-0.0", fnan, -0F, dnan, -0D); + testfcmp("NaNQ", "-0.0", fnan, -0F, dnan, -0D); + testfops("NaNQ", "0.0", fnan, 0F, dnan, 0D); + testfcmp("NaNQ", "0.0", fnan, 0F, dnan, 0D); + testfops("NaNQ", "5.0", fnan, 5F, dnan, 5D); + testfcmp("NaNQ", "5.0", fnan, 5F, dnan, 5D); + + p("------------------- test value op NaNQ"); + testfops("-5.0", "NaNQ", -5F, fnan, -5D, dnan); + testfcmp("-5.0", "NaNQ", -5F, fnan, -5D, dnan); + testfops("-0.0", "NaNQ", -0F, fnan, -0D, dnan); + testfcmp("-0.0", "NaNQ", -0F, fnan, -0D, dnan); + testfops("0.0", "NaNQ", 0F, fnan, 0D, dnan); + testfcmp("0.0", "NaNQ", 0F, fnan, 0D, dnan); + testfops("5.0", "NaNQ", 5F, fnan, 5D, dnan); + testfcmp("5.0", "NaNQ", 5F, fnan, 5D, dnan); + + p("------------------- test +INF op value"); + testfops("+INF", "-5.0", fpinf, -5F, dpinf, -5D); + testfcmp("+INF", "-5.0", fpinf, -5F, dpinf, -5D); + testfops("+INF", "-0.0", fpinf, -0F, dpinf, -0D); + testfcmp("+INF", "-0.0", fpinf, -0F, dpinf, -0D); + testfops("+INF", "0.0", fpinf, 0F, dpinf, 0D); + testfcmp("+INF", "0.0", fpinf, 0F, dpinf, 0D); + testfops("+INF", "5.0", fpinf, 5F, dpinf, 5D); + testfcmp("+INF", "5.0", fpinf, 5F, dpinf, 5D); + + p("------------------- test +INF op value"); + testfops("-5.0", "+INF", -5F, fpinf, -5D, dpinf); + testfcmp("-5.0", "+INF", -5F, fpinf, -5D, dpinf); + testfops("-0.0", "+INF", -0F, fpinf, -0D, dpinf); + testfcmp("-0.0", "+INF", -0F, fpinf, -0D, dpinf); + testfops("0.0", "+INF", 0F, fpinf, 0D, dpinf); + testfcmp("0.0", "+INF", 0F, fpinf, 0D, dpinf); + testfops("5.0", "+INF", 5F, fpinf, 5D, dpinf); + testfcmp("5.0", "+INF", 5F, fpinf, 5D, dpinf); + + p("------------------- test -INF op value"); + testfops("-INF", "-5.0", fninf, -5F, dninf, -5D); + testfcmp("-INF", "-5.0", fninf, -5F, dninf, -5D); + testfops("-INF", "-0.0", fninf, -0F, dninf, -0D); + testfcmp("-INF", "-0.0", fninf, -0F, dninf, -0D); + testfops("-INF", "0.0", fninf, 0F, dninf, 0D); + testfcmp("-INF", "0.0", fninf, 0F, dninf, 0D); + testfops("-INF", "5.0", fninf, 5F, dninf, 5D); + testfcmp("-INF", "5.0", fninf, 5F, dninf, 5D); + + p("------------------- test -INF op value"); + testfops("-5.0", "-INF", -5F, fninf, -5D, dninf); + testfcmp("-5.0", "-INF", -5F, fninf, -5D, dninf); + testfops("-0.0", "-INF", -0F, fninf, -0D, dninf); + testfcmp("-0.0", "-INF", -0F, fninf, -0D, dninf); + testfops("0.0", "-INF", 0F, fninf, 0D, dninf); + testfcmp("0.0", "-INF", 0F, fninf, 0D, dninf); + testfops("5.0", "-INF", 5F, fninf, 5D, dninf); + testfcmp("5.0", "-INF", 5F, fninf, 5D, dninf); + + p("------------------- test MAX op value"); + testfops("MAX", "5.0", fmax, 5F, dmax, 5D); + + p("------------------- test value op MAX"); + testfops("5.0", "MAX", 5F, fmax, 5D, dmax); + + p("------------------- test MIN op value"); + testfops("MIN", "5.0", fmin, 5F, dmin, 5D); + + p("------------------- test value op MIN"); + testfops("5.0", "MIN", 5F, fmin, 5D, dmin); + + } + + public static void zerodiv(String s, float f1, float f2) { + p(s, f1 / f2); + } + + public static void zerodiv(String s, double d1, double d2) { + p(s, d1 / d2); + } + + public static void testfcvt(String s1, float f1, double d1) { + p("convert " + s1 + " (" + f1 + "," + d1 + ") to ", (int) f1); + p("convert " + s1 + " (" + f1 + "," + d1 + ") to ", (int) d1); + p("convert " + s1 + " (" + f1 + "," + d1 + ") to ", (long) f1); + p("convert " + s1 + " (" + f1 + "," + d1 + ") to ", (long) d1); + } + + public static void testfops(String s1, String s2, float f1, float f2, + double d1, double d2) { + p(s1 + " + " + s2 + " = ", f1 + f2); + p(s1 + " - " + s2 + " = ", f1 - f2); + p(s1 + " * " + s2 + " = ", f1 * f2); + p(s1 + " / " + s2 + " = ", f1 / f2); + p(s1 + " % " + s2 + " = ", f1 % f2); + p(s1 + " + " + s2 + " = ", d1 + d2); + p(s1 + " - " + s2 + " = ", d1 - d2); + p(s1 + " * " + s2 + " = ", d1 * d2); + p(s1 + " / " + s2 + " = ", d1 / d2); + p(s1 + " % " + s2 + " = ", d1 % d2); + } + + public static void testfcmp(String s1, String s2, float f1, float f2, + double d1, double d2) { + if ( (f1 == f2)) p(" (" + s1 + " == " + s2 + ") = float: true"); + else p(" (" + s1 + " == " + s2 + ") = float: false"); + if ( (f1 != f2)) p(" (" + s1 + " != " + s2 + ") = float: true"); + else p(" (" + s1 + " != " + s2 + ") = float: false"); + if ( (f1 < f2)) p(" (" + s1 + " < " + s2 + ") = float: true"); + else p(" (" + s1 + " < " + s2 + ") = float: false"); + if ( (f1 <= f2)) p(" (" + s1 + " <= " + s2 + ") = float: true"); + else p(" (" + s1 + " <= " + s2 + ") = float: false"); + if ( (f1 > f2)) p(" (" + s1 + " > " + s2 + ") = float: true"); + else p(" (" + s1 + " > " + s2 + ") = float: false"); + if ( (f1 >= f2)) p(" (" + s1 + " >= " + s2 + ") = float: true"); + else p(" (" + s1 + " >= " + s2 + ") = float: false"); + + if (!(f1 == f2)) p("!(" + s1 + " == " + s2 + ") = float: true"); + else p("!(" + s1 + " == " + s2 + ") = float: false"); + if (!(f1 != f2)) p("!(" + s1 + " != " + s2 + ") = float: true"); + else p("!(" + s1 + " != " + s2 + ") = float: false"); + if (!(f1 < f2)) p("!(" + s1 + " < " + s2 + ") = float: true"); + else p("!(" + s1 + " < " + s2 + ") = float: false"); + if (!(f1 <= f2)) p("!(" + s1 + " <= " + s2 + ") = float: true"); + else p("!(" + s1 + " <= " + s2 + ") = float: false"); + if (!(f1 > f2)) p("!(" + s1 + " > " + s2 + ") = float: true"); + else p("!(" + s1 + " > " + s2 + ") = float: false"); + if (!(f1 >= f2)) p("!(" + s1 + " >= " + s2 + ") = float: true"); + else p("!(" + s1 + " >= " + s2 + ") = float: false"); + + if ( (d1 == d2)) p(" (" + s1 + " == " + s2 + ") = double: true"); + else p(" (" + s1 + " == " + s2 + ") = double: false"); + if ( (d1 != d2)) p(" (" + s1 + " != " + s2 + ") = double: true"); + else p(" (" + s1 + " != " + s2 + ") = double: false"); + if ( (d1 < d2)) p(" (" + s1 + " < " + s2 + ") = double: true"); + else p(" (" + s1 + " < " + s2 + ") = double: false"); + if ( (d1 <= d2)) p(" (" + s1 + " <= " + s2 + ") = double: true"); + else p(" (" + s1 + " <= " + s2 + ") = double: false"); + if ( (d1 > d2)) p(" (" + s1 + " > " + s2 + ") = double: true"); + else p(" (" + s1 + " > " + s2 + ") = double: false"); + if ( (d1 >= d2)) p(" (" + s1 + " >= " + s2 + ") = double: true"); + else p(" (" + s1 + " >= " + s2 + ") = double: false"); + + if (!(d1 == d2)) p("!(" + s1 + " == " + s2 + ") = double: true"); + else p("!(" + s1 + " == " + s2 + ") = double: false"); + if (!(d1 != d2)) p("!(" + s1 + " != " + s2 + ") = double: true"); + else p("!(" + s1 + " != " + s2 + ") = double: false"); + if (!(d1 < d2)) p("!(" + s1 + " < " + s2 + ") = double: true"); + else p("!(" + s1 + " < " + s2 + ") = double: false"); + if (!(d1 <= d2)) p("!(" + s1 + " <= " + s2 + ") = double: true"); + else p("!(" + s1 + " <= " + s2 + ") = double: false"); + if (!(d1 > d2)) p("!(" + s1 + " > " + s2 + ") = double: true"); + else p("!(" + s1 + " > " + s2 + ") = double: false"); + if (!(d1 >= d2)) p("!(" + s1 + " >= " + s2 + ") = double: true"); + else p("!(" + s1 + " >= " + s2 + ") = double: false"); + } + + // ********************* output methods **************************** + + public static int linenum = 0; + + public static void pnl() { + int i; + + System.out.println(); + for (i = 4 - Integer.toString(linenum).length(); i > 0; i--) + System.out.print(' '); + System.out.print(linenum); + System.out.print(". "); + linenum++; + } + + public static void p(String a) { + System.out.print(a); pnl(); + } + public static void p(boolean a) { + System.out.print(a); pnl(); + } + public static void p(int a) { + System.out.print("int: "); System.out.print(a); pnl(); + } + public static void p(long a) { + System.out.print("long: "); System.out.print(a); pnl(); + } + public static void p(short a) { + System.out.print("short: "); System.out.print(a); pnl(); + } + public static void p(byte a) { + System.out.print("byte: "); System.out.print(a); pnl(); + } + public static void p(char a) { + System.out.print("char: "); System.out.print((int)a); pnl(); + } + public static void p(float a) { + System.out.print("float: "); System.out.print(a); pnl(); + } + public static void p(double a) { + System.out.print("double: "); System.out.print(a); pnl(); + } + + public static void p(String s, boolean i) { + System.out.print(s); p(i); + } + public static void p(String s, int i) { + System.out.print(s); p(i); + } + public static void p(String s, byte i) { + System.out.print(s); p(i); + } + public static void p(String s, char i) { + System.out.print(s); p(i); + } + public static void p(String s, short i) { + System.out.print(s); p(i); + } + public static void p(String s, long l) { + System.out.print(s); p(l); + } + public static void p(String s, float f) { + System.out.print(s); p(f); + } + public static void p(String s, double d) { + System.out.print(s); p(d); + } + +} diff --git a/tests/regression/fptest.output b/tests/regression/fptest.output new file mode 100644 index 000000000..c0bf893ba --- /dev/null +++ b/tests/regression/fptest.output @@ -0,0 +1,951 @@ +---------------------------- tests NaNs and Infs ------------------- + 0. ------------------- print NaNs and Infs + 1. NaNQ float: NaN + 2. +INF float: Infinity + 3. -INF float: -Infinity + 4. NaNQ double: NaN + 5. +INF double: Infinity + 6. -INF double: -Infinity + 7. ------------------- test zero division + 8. 0 / 0 = NaNQ float: NaN + 9. + / 0 = +INF float: Infinity + 10. - / 0 = -INF float: -Infinity + 11. 0 / 0 = NaNQ double: NaN + 12. + / 0 = +INF double: Infinity + 13. - / 0 = -INF double: -Infinity + 14. ------------------- test conversions + 15. convert NaNQ (NaN,NaN) to int: 0 + 16. convert NaNQ (NaN,NaN) to int: 0 + 17. convert NaNQ (NaN,NaN) to long: 0 + 18. convert NaNQ (NaN,NaN) to long: 0 + 19. convert +INF (Infinity,Infinity) to int: 2147483647 + 20. convert +INF (Infinity,Infinity) to int: 2147483647 + 21. convert +INF (Infinity,Infinity) to long: 9223372036854775807 + 22. convert +INF (Infinity,Infinity) to long: 9223372036854775807 + 23. convert -INF (-Infinity,-Infinity) to int: -2147483648 + 24. convert -INF (-Infinity,-Infinity) to int: -2147483648 + 25. convert -INF (-Infinity,-Infinity) to long: -9223372036854775808 + 26. convert -INF (-Infinity,-Infinity) to long: -9223372036854775808 + 27. convert MAX (3.4028235E38,1.7976931348623157E308) to int: 2147483647 + 28. convert MAX (3.4028235E38,1.7976931348623157E308) to int: 2147483647 + 29. convert MAX (3.4028235E38,1.7976931348623157E308) to long: 9223372036854775807 + 30. convert MAX (3.4028235E38,1.7976931348623157E308) to long: 9223372036854775807 + 31. convert MIN (1.4012985E-45,5.0E-324) to int: 0 + 32. convert MIN (1.4012985E-45,5.0E-324) to int: 0 + 33. convert MIN (1.4012985E-45,5.0E-324) to long: 0 + 34. convert MIN (1.4012985E-45,5.0E-324) to long: 0 + 35. convert MAXINT-1 (2.147483648E9,2.147483646E9) to int: 2147483647 + 36. convert MAXINT-1 (2.147483648E9,2.147483646E9) to int: 2147483646 + 37. convert MAXINT-1 (2.147483648E9,2.147483646E9) to long: 2147483648 + 38. convert MAXINT-1 (2.147483648E9,2.147483646E9) to long: 2147483646 + 39. convert MAXINT+0 (2.147483648E9,2.147483647E9) to int: 2147483647 + 40. convert MAXINT+0 (2.147483648E9,2.147483647E9) to int: 2147483647 + 41. convert MAXINT+0 (2.147483648E9,2.147483647E9) to long: 2147483648 + 42. convert MAXINT+0 (2.147483648E9,2.147483647E9) to long: 2147483647 + 43. convert MAXINT+1 (2.147483648E9,2.147483648E9) to int: 2147483647 + 44. convert MAXINT+1 (2.147483648E9,2.147483648E9) to int: 2147483647 + 45. convert MAXINT+1 (2.147483648E9,2.147483648E9) to long: 2147483648 + 46. convert MAXINT+1 (2.147483648E9,2.147483648E9) to long: 2147483648 + 47. convert -MAXINT+1 (-2.147483648E9,-2.147483647E9) to int: -2147483648 + 48. convert -MAXINT+1 (-2.147483648E9,-2.147483647E9) to int: -2147483647 + 49. convert -MAXINT+1 (-2.147483648E9,-2.147483647E9) to long: -2147483648 + 50. convert -MAXINT+1 (-2.147483648E9,-2.147483647E9) to long: -2147483647 + 51. convert -MAXINT+0 (-2.147483648E9,-2.147483648E9) to int: -2147483648 + 52. convert -MAXINT+0 (-2.147483648E9,-2.147483648E9) to int: -2147483648 + 53. convert -MAXINT+0 (-2.147483648E9,-2.147483648E9) to long: -2147483648 + 54. convert -MAXINT+0 (-2.147483648E9,-2.147483648E9) to long: -2147483648 + 55. convert -MAXINT-1 (-2.147483648E9,-2.147483649E9) to int: -2147483648 + 56. convert -MAXINT-1 (-2.147483648E9,-2.147483649E9) to int: -2147483648 + 57. convert -MAXINT-1 (-2.147483648E9,-2.147483649E9) to long: -2147483648 + 58. convert -MAXINT-1 (-2.147483648E9,-2.147483649E9) to long: -2147483649 + 59. convert MAXLNG-1 (9.223372E18,9.223372036854776E18) to int: 2147483647 + 60. convert MAXLNG-1 (9.223372E18,9.223372036854776E18) to int: 2147483647 + 61. convert MAXLNG-1 (9.223372E18,9.223372036854776E18) to long: 9223372036854775807 + 62. convert MAXLNG-1 (9.223372E18,9.223372036854776E18) to long: 9223372036854775807 + 63. convert MAXLNG+0 (9.223372E18,9.223372036854776E18) to int: 2147483647 + 64. convert MAXLNG+0 (9.223372E18,9.223372036854776E18) to int: 2147483647 + 65. convert MAXLNG+0 (9.223372E18,9.223372036854776E18) to long: 9223372036854775807 + 66. convert MAXLNG+0 (9.223372E18,9.223372036854776E18) to long: 9223372036854775807 + 67. convert MAXLNG+1 (9.223372E18,9.223372036854776E18) to int: 2147483647 + 68. convert MAXLNG+1 (9.223372E18,9.223372036854776E18) to int: 2147483647 + 69. convert MAXLNG+1 (9.223372E18,9.223372036854776E18) to long: 9223372036854775807 + 70. convert MAXLNG+1 (9.223372E18,9.223372036854776E18) to long: 9223372036854775807 + 71. convert -MAXLNG+1 (-9.223372E18,-9.223372036854776E18) to int: -2147483648 + 72. convert -MAXLNG+1 (-9.223372E18,-9.223372036854776E18) to int: -2147483648 + 73. convert -MAXLNG+1 (-9.223372E18,-9.223372036854776E18) to long: -9223372036854775808 + 74. convert -MAXLNG+1 (-9.223372E18,-9.223372036854776E18) to long: -9223372036854775808 + 75. convert -MAXLNG+0 (-9.223372E18,-9.223372036854776E18) to int: -2147483648 + 76. convert -MAXLNG+0 (-9.223372E18,-9.223372036854776E18) to int: -2147483648 + 77. convert -MAXLNG+0 (-9.223372E18,-9.223372036854776E18) to long: -9223372036854775808 + 78. convert -MAXLNG+0 (-9.223372E18,-9.223372036854776E18) to long: -9223372036854775808 + 79. convert -MAXLNG-1 (-9.223372E18,-9.223372036854776E18) to int: -2147483648 + 80. convert -MAXLNG-1 (-9.223372E18,-9.223372036854776E18) to int: -2147483648 + 81. convert -MAXLNG-1 (-9.223372E18,-9.223372036854776E18) to long: -9223372036854775808 + 82. convert -MAXLNG-1 (-9.223372E18,-9.223372036854776E18) to long: -9223372036854775808 + 83. ------------------- test NaNQ op value + 84. NaNQ + -5.0 = float: NaN + 85. NaNQ - -5.0 = float: NaN + 86. NaNQ * -5.0 = float: NaN + 87. NaNQ / -5.0 = float: NaN + 88. NaNQ % -5.0 = float: NaN + 89. NaNQ + -5.0 = double: NaN + 90. NaNQ - -5.0 = double: NaN + 91. NaNQ * -5.0 = double: NaN + 92. NaNQ / -5.0 = double: NaN + 93. NaNQ % -5.0 = double: NaN + 94. (NaNQ == -5.0) = float: false + 95. (NaNQ != -5.0) = float: true + 96. (NaNQ < -5.0) = float: false + 97. (NaNQ <= -5.0) = float: false + 98. (NaNQ > -5.0) = float: false + 99. (NaNQ >= -5.0) = float: false + 100. !(NaNQ == -5.0) = float: true + 101. !(NaNQ != -5.0) = float: false + 102. !(NaNQ < -5.0) = float: true + 103. !(NaNQ <= -5.0) = float: true + 104. !(NaNQ > -5.0) = float: true + 105. !(NaNQ >= -5.0) = float: true + 106. (NaNQ == -5.0) = double: false + 107. (NaNQ != -5.0) = double: true + 108. (NaNQ < -5.0) = double: false + 109. (NaNQ <= -5.0) = double: false + 110. (NaNQ > -5.0) = double: false + 111. (NaNQ >= -5.0) = double: false + 112. !(NaNQ == -5.0) = double: true + 113. !(NaNQ != -5.0) = double: false + 114. !(NaNQ < -5.0) = double: true + 115. !(NaNQ <= -5.0) = double: true + 116. !(NaNQ > -5.0) = double: true + 117. !(NaNQ >= -5.0) = double: true + 118. NaNQ + -0.0 = float: NaN + 119. NaNQ - -0.0 = float: NaN + 120. NaNQ * -0.0 = float: NaN + 121. NaNQ / -0.0 = float: NaN + 122. NaNQ % -0.0 = float: NaN + 123. NaNQ + -0.0 = double: NaN + 124. NaNQ - -0.0 = double: NaN + 125. NaNQ * -0.0 = double: NaN + 126. NaNQ / -0.0 = double: NaN + 127. NaNQ % -0.0 = double: NaN + 128. (NaNQ == -0.0) = float: false + 129. (NaNQ != -0.0) = float: true + 130. (NaNQ < -0.0) = float: false + 131. (NaNQ <= -0.0) = float: false + 132. (NaNQ > -0.0) = float: false + 133. (NaNQ >= -0.0) = float: false + 134. !(NaNQ == -0.0) = float: true + 135. !(NaNQ != -0.0) = float: false + 136. !(NaNQ < -0.0) = float: true + 137. !(NaNQ <= -0.0) = float: true + 138. !(NaNQ > -0.0) = float: true + 139. !(NaNQ >= -0.0) = float: true + 140. (NaNQ == -0.0) = double: false + 141. (NaNQ != -0.0) = double: true + 142. (NaNQ < -0.0) = double: false + 143. (NaNQ <= -0.0) = double: false + 144. (NaNQ > -0.0) = double: false + 145. (NaNQ >= -0.0) = double: false + 146. !(NaNQ == -0.0) = double: true + 147. !(NaNQ != -0.0) = double: false + 148. !(NaNQ < -0.0) = double: true + 149. !(NaNQ <= -0.0) = double: true + 150. !(NaNQ > -0.0) = double: true + 151. !(NaNQ >= -0.0) = double: true + 152. NaNQ + 0.0 = float: NaN + 153. NaNQ - 0.0 = float: NaN + 154. NaNQ * 0.0 = float: NaN + 155. NaNQ / 0.0 = float: NaN + 156. NaNQ % 0.0 = float: NaN + 157. NaNQ + 0.0 = double: NaN + 158. NaNQ - 0.0 = double: NaN + 159. NaNQ * 0.0 = double: NaN + 160. NaNQ / 0.0 = double: NaN + 161. NaNQ % 0.0 = double: NaN + 162. (NaNQ == 0.0) = float: false + 163. (NaNQ != 0.0) = float: true + 164. (NaNQ < 0.0) = float: false + 165. (NaNQ <= 0.0) = float: false + 166. (NaNQ > 0.0) = float: false + 167. (NaNQ >= 0.0) = float: false + 168. !(NaNQ == 0.0) = float: true + 169. !(NaNQ != 0.0) = float: false + 170. !(NaNQ < 0.0) = float: true + 171. !(NaNQ <= 0.0) = float: true + 172. !(NaNQ > 0.0) = float: true + 173. !(NaNQ >= 0.0) = float: true + 174. (NaNQ == 0.0) = double: false + 175. (NaNQ != 0.0) = double: true + 176. (NaNQ < 0.0) = double: false + 177. (NaNQ <= 0.0) = double: false + 178. (NaNQ > 0.0) = double: false + 179. (NaNQ >= 0.0) = double: false + 180. !(NaNQ == 0.0) = double: true + 181. !(NaNQ != 0.0) = double: false + 182. !(NaNQ < 0.0) = double: true + 183. !(NaNQ <= 0.0) = double: true + 184. !(NaNQ > 0.0) = double: true + 185. !(NaNQ >= 0.0) = double: true + 186. NaNQ + 5.0 = float: NaN + 187. NaNQ - 5.0 = float: NaN + 188. NaNQ * 5.0 = float: NaN + 189. NaNQ / 5.0 = float: NaN + 190. NaNQ % 5.0 = float: NaN + 191. NaNQ + 5.0 = double: NaN + 192. NaNQ - 5.0 = double: NaN + 193. NaNQ * 5.0 = double: NaN + 194. NaNQ / 5.0 = double: NaN + 195. NaNQ % 5.0 = double: NaN + 196. (NaNQ == 5.0) = float: false + 197. (NaNQ != 5.0) = float: true + 198. (NaNQ < 5.0) = float: false + 199. (NaNQ <= 5.0) = float: false + 200. (NaNQ > 5.0) = float: false + 201. (NaNQ >= 5.0) = float: false + 202. !(NaNQ == 5.0) = float: true + 203. !(NaNQ != 5.0) = float: false + 204. !(NaNQ < 5.0) = float: true + 205. !(NaNQ <= 5.0) = float: true + 206. !(NaNQ > 5.0) = float: true + 207. !(NaNQ >= 5.0) = float: true + 208. (NaNQ == 5.0) = double: false + 209. (NaNQ != 5.0) = double: true + 210. (NaNQ < 5.0) = double: false + 211. (NaNQ <= 5.0) = double: false + 212. (NaNQ > 5.0) = double: false + 213. (NaNQ >= 5.0) = double: false + 214. !(NaNQ == 5.0) = double: true + 215. !(NaNQ != 5.0) = double: false + 216. !(NaNQ < 5.0) = double: true + 217. !(NaNQ <= 5.0) = double: true + 218. !(NaNQ > 5.0) = double: true + 219. !(NaNQ >= 5.0) = double: true + 220. ------------------- test value op NaNQ + 221. -5.0 + NaNQ = float: NaN + 222. -5.0 - NaNQ = float: NaN + 223. -5.0 * NaNQ = float: NaN + 224. -5.0 / NaNQ = float: NaN + 225. -5.0 % NaNQ = float: NaN + 226. -5.0 + NaNQ = double: NaN + 227. -5.0 - NaNQ = double: NaN + 228. -5.0 * NaNQ = double: NaN + 229. -5.0 / NaNQ = double: NaN + 230. -5.0 % NaNQ = double: NaN + 231. (-5.0 == NaNQ) = float: false + 232. (-5.0 != NaNQ) = float: true + 233. (-5.0 < NaNQ) = float: false + 234. (-5.0 <= NaNQ) = float: false + 235. (-5.0 > NaNQ) = float: false + 236. (-5.0 >= NaNQ) = float: false + 237. !(-5.0 == NaNQ) = float: true + 238. !(-5.0 != NaNQ) = float: false + 239. !(-5.0 < NaNQ) = float: true + 240. !(-5.0 <= NaNQ) = float: true + 241. !(-5.0 > NaNQ) = float: true + 242. !(-5.0 >= NaNQ) = float: true + 243. (-5.0 == NaNQ) = double: false + 244. (-5.0 != NaNQ) = double: true + 245. (-5.0 < NaNQ) = double: false + 246. (-5.0 <= NaNQ) = double: false + 247. (-5.0 > NaNQ) = double: false + 248. (-5.0 >= NaNQ) = double: false + 249. !(-5.0 == NaNQ) = double: true + 250. !(-5.0 != NaNQ) = double: false + 251. !(-5.0 < NaNQ) = double: true + 252. !(-5.0 <= NaNQ) = double: true + 253. !(-5.0 > NaNQ) = double: true + 254. !(-5.0 >= NaNQ) = double: true + 255. -0.0 + NaNQ = float: NaN + 256. -0.0 - NaNQ = float: NaN + 257. -0.0 * NaNQ = float: NaN + 258. -0.0 / NaNQ = float: NaN + 259. -0.0 % NaNQ = float: NaN + 260. -0.0 + NaNQ = double: NaN + 261. -0.0 - NaNQ = double: NaN + 262. -0.0 * NaNQ = double: NaN + 263. -0.0 / NaNQ = double: NaN + 264. -0.0 % NaNQ = double: NaN + 265. (-0.0 == NaNQ) = float: false + 266. (-0.0 != NaNQ) = float: true + 267. (-0.0 < NaNQ) = float: false + 268. (-0.0 <= NaNQ) = float: false + 269. (-0.0 > NaNQ) = float: false + 270. (-0.0 >= NaNQ) = float: false + 271. !(-0.0 == NaNQ) = float: true + 272. !(-0.0 != NaNQ) = float: false + 273. !(-0.0 < NaNQ) = float: true + 274. !(-0.0 <= NaNQ) = float: true + 275. !(-0.0 > NaNQ) = float: true + 276. !(-0.0 >= NaNQ) = float: true + 277. (-0.0 == NaNQ) = double: false + 278. (-0.0 != NaNQ) = double: true + 279. (-0.0 < NaNQ) = double: false + 280. (-0.0 <= NaNQ) = double: false + 281. (-0.0 > NaNQ) = double: false + 282. (-0.0 >= NaNQ) = double: false + 283. !(-0.0 == NaNQ) = double: true + 284. !(-0.0 != NaNQ) = double: false + 285. !(-0.0 < NaNQ) = double: true + 286. !(-0.0 <= NaNQ) = double: true + 287. !(-0.0 > NaNQ) = double: true + 288. !(-0.0 >= NaNQ) = double: true + 289. 0.0 + NaNQ = float: NaN + 290. 0.0 - NaNQ = float: NaN + 291. 0.0 * NaNQ = float: NaN + 292. 0.0 / NaNQ = float: NaN + 293. 0.0 % NaNQ = float: NaN + 294. 0.0 + NaNQ = double: NaN + 295. 0.0 - NaNQ = double: NaN + 296. 0.0 * NaNQ = double: NaN + 297. 0.0 / NaNQ = double: NaN + 298. 0.0 % NaNQ = double: NaN + 299. (0.0 == NaNQ) = float: false + 300. (0.0 != NaNQ) = float: true + 301. (0.0 < NaNQ) = float: false + 302. (0.0 <= NaNQ) = float: false + 303. (0.0 > NaNQ) = float: false + 304. (0.0 >= NaNQ) = float: false + 305. !(0.0 == NaNQ) = float: true + 306. !(0.0 != NaNQ) = float: false + 307. !(0.0 < NaNQ) = float: true + 308. !(0.0 <= NaNQ) = float: true + 309. !(0.0 > NaNQ) = float: true + 310. !(0.0 >= NaNQ) = float: true + 311. (0.0 == NaNQ) = double: false + 312. (0.0 != NaNQ) = double: true + 313. (0.0 < NaNQ) = double: false + 314. (0.0 <= NaNQ) = double: false + 315. (0.0 > NaNQ) = double: false + 316. (0.0 >= NaNQ) = double: false + 317. !(0.0 == NaNQ) = double: true + 318. !(0.0 != NaNQ) = double: false + 319. !(0.0 < NaNQ) = double: true + 320. !(0.0 <= NaNQ) = double: true + 321. !(0.0 > NaNQ) = double: true + 322. !(0.0 >= NaNQ) = double: true + 323. 5.0 + NaNQ = float: NaN + 324. 5.0 - NaNQ = float: NaN + 325. 5.0 * NaNQ = float: NaN + 326. 5.0 / NaNQ = float: NaN + 327. 5.0 % NaNQ = float: NaN + 328. 5.0 + NaNQ = double: NaN + 329. 5.0 - NaNQ = double: NaN + 330. 5.0 * NaNQ = double: NaN + 331. 5.0 / NaNQ = double: NaN + 332. 5.0 % NaNQ = double: NaN + 333. (5.0 == NaNQ) = float: false + 334. (5.0 != NaNQ) = float: true + 335. (5.0 < NaNQ) = float: false + 336. (5.0 <= NaNQ) = float: false + 337. (5.0 > NaNQ) = float: false + 338. (5.0 >= NaNQ) = float: false + 339. !(5.0 == NaNQ) = float: true + 340. !(5.0 != NaNQ) = float: false + 341. !(5.0 < NaNQ) = float: true + 342. !(5.0 <= NaNQ) = float: true + 343. !(5.0 > NaNQ) = float: true + 344. !(5.0 >= NaNQ) = float: true + 345. (5.0 == NaNQ) = double: false + 346. (5.0 != NaNQ) = double: true + 347. (5.0 < NaNQ) = double: false + 348. (5.0 <= NaNQ) = double: false + 349. (5.0 > NaNQ) = double: false + 350. (5.0 >= NaNQ) = double: false + 351. !(5.0 == NaNQ) = double: true + 352. !(5.0 != NaNQ) = double: false + 353. !(5.0 < NaNQ) = double: true + 354. !(5.0 <= NaNQ) = double: true + 355. !(5.0 > NaNQ) = double: true + 356. !(5.0 >= NaNQ) = double: true + 357. ------------------- test +INF op value + 358. +INF + -5.0 = float: Infinity + 359. +INF - -5.0 = float: Infinity + 360. +INF * -5.0 = float: -Infinity + 361. +INF / -5.0 = float: -Infinity + 362. +INF % -5.0 = float: NaN + 363. +INF + -5.0 = double: Infinity + 364. +INF - -5.0 = double: Infinity + 365. +INF * -5.0 = double: -Infinity + 366. +INF / -5.0 = double: -Infinity + 367. +INF % -5.0 = double: NaN + 368. (+INF == -5.0) = float: false + 369. (+INF != -5.0) = float: true + 370. (+INF < -5.0) = float: false + 371. (+INF <= -5.0) = float: false + 372. (+INF > -5.0) = float: true + 373. (+INF >= -5.0) = float: true + 374. !(+INF == -5.0) = float: true + 375. !(+INF != -5.0) = float: false + 376. !(+INF < -5.0) = float: true + 377. !(+INF <= -5.0) = float: true + 378. !(+INF > -5.0) = float: false + 379. !(+INF >= -5.0) = float: false + 380. (+INF == -5.0) = double: false + 381. (+INF != -5.0) = double: true + 382. (+INF < -5.0) = double: false + 383. (+INF <= -5.0) = double: false + 384. (+INF > -5.0) = double: true + 385. (+INF >= -5.0) = double: true + 386. !(+INF == -5.0) = double: true + 387. !(+INF != -5.0) = double: false + 388. !(+INF < -5.0) = double: true + 389. !(+INF <= -5.0) = double: true + 390. !(+INF > -5.0) = double: false + 391. !(+INF >= -5.0) = double: false + 392. +INF + -0.0 = float: Infinity + 393. +INF - -0.0 = float: Infinity + 394. +INF * -0.0 = float: NaN + 395. +INF / -0.0 = float: -Infinity + 396. +INF % -0.0 = float: NaN + 397. +INF + -0.0 = double: Infinity + 398. +INF - -0.0 = double: Infinity + 399. +INF * -0.0 = double: NaN + 400. +INF / -0.0 = double: -Infinity + 401. +INF % -0.0 = double: NaN + 402. (+INF == -0.0) = float: false + 403. (+INF != -0.0) = float: true + 404. (+INF < -0.0) = float: false + 405. (+INF <= -0.0) = float: false + 406. (+INF > -0.0) = float: true + 407. (+INF >= -0.0) = float: true + 408. !(+INF == -0.0) = float: true + 409. !(+INF != -0.0) = float: false + 410. !(+INF < -0.0) = float: true + 411. !(+INF <= -0.0) = float: true + 412. !(+INF > -0.0) = float: false + 413. !(+INF >= -0.0) = float: false + 414. (+INF == -0.0) = double: false + 415. (+INF != -0.0) = double: true + 416. (+INF < -0.0) = double: false + 417. (+INF <= -0.0) = double: false + 418. (+INF > -0.0) = double: true + 419. (+INF >= -0.0) = double: true + 420. !(+INF == -0.0) = double: true + 421. !(+INF != -0.0) = double: false + 422. !(+INF < -0.0) = double: true + 423. !(+INF <= -0.0) = double: true + 424. !(+INF > -0.0) = double: false + 425. !(+INF >= -0.0) = double: false + 426. +INF + 0.0 = float: Infinity + 427. +INF - 0.0 = float: Infinity + 428. +INF * 0.0 = float: NaN + 429. +INF / 0.0 = float: Infinity + 430. +INF % 0.0 = float: NaN + 431. +INF + 0.0 = double: Infinity + 432. +INF - 0.0 = double: Infinity + 433. +INF * 0.0 = double: NaN + 434. +INF / 0.0 = double: Infinity + 435. +INF % 0.0 = double: NaN + 436. (+INF == 0.0) = float: false + 437. (+INF != 0.0) = float: true + 438. (+INF < 0.0) = float: false + 439. (+INF <= 0.0) = float: false + 440. (+INF > 0.0) = float: true + 441. (+INF >= 0.0) = float: true + 442. !(+INF == 0.0) = float: true + 443. !(+INF != 0.0) = float: false + 444. !(+INF < 0.0) = float: true + 445. !(+INF <= 0.0) = float: true + 446. !(+INF > 0.0) = float: false + 447. !(+INF >= 0.0) = float: false + 448. (+INF == 0.0) = double: false + 449. (+INF != 0.0) = double: true + 450. (+INF < 0.0) = double: false + 451. (+INF <= 0.0) = double: false + 452. (+INF > 0.0) = double: true + 453. (+INF >= 0.0) = double: true + 454. !(+INF == 0.0) = double: true + 455. !(+INF != 0.0) = double: false + 456. !(+INF < 0.0) = double: true + 457. !(+INF <= 0.0) = double: true + 458. !(+INF > 0.0) = double: false + 459. !(+INF >= 0.0) = double: false + 460. +INF + 5.0 = float: Infinity + 461. +INF - 5.0 = float: Infinity + 462. +INF * 5.0 = float: Infinity + 463. +INF / 5.0 = float: Infinity + 464. +INF % 5.0 = float: NaN + 465. +INF + 5.0 = double: Infinity + 466. +INF - 5.0 = double: Infinity + 467. +INF * 5.0 = double: Infinity + 468. +INF / 5.0 = double: Infinity + 469. +INF % 5.0 = double: NaN + 470. (+INF == 5.0) = float: false + 471. (+INF != 5.0) = float: true + 472. (+INF < 5.0) = float: false + 473. (+INF <= 5.0) = float: false + 474. (+INF > 5.0) = float: true + 475. (+INF >= 5.0) = float: true + 476. !(+INF == 5.0) = float: true + 477. !(+INF != 5.0) = float: false + 478. !(+INF < 5.0) = float: true + 479. !(+INF <= 5.0) = float: true + 480. !(+INF > 5.0) = float: false + 481. !(+INF >= 5.0) = float: false + 482. (+INF == 5.0) = double: false + 483. (+INF != 5.0) = double: true + 484. (+INF < 5.0) = double: false + 485. (+INF <= 5.0) = double: false + 486. (+INF > 5.0) = double: true + 487. (+INF >= 5.0) = double: true + 488. !(+INF == 5.0) = double: true + 489. !(+INF != 5.0) = double: false + 490. !(+INF < 5.0) = double: true + 491. !(+INF <= 5.0) = double: true + 492. !(+INF > 5.0) = double: false + 493. !(+INF >= 5.0) = double: false + 494. ------------------- test +INF op value + 495. -5.0 + +INF = float: Infinity + 496. -5.0 - +INF = float: -Infinity + 497. -5.0 * +INF = float: -Infinity + 498. -5.0 / +INF = float: -0.0 + 499. -5.0 % +INF = float: -5.0 + 500. -5.0 + +INF = double: Infinity + 501. -5.0 - +INF = double: -Infinity + 502. -5.0 * +INF = double: -Infinity + 503. -5.0 / +INF = double: -0.0 + 504. -5.0 % +INF = double: -5.0 + 505. (-5.0 == +INF) = float: false + 506. (-5.0 != +INF) = float: true + 507. (-5.0 < +INF) = float: true + 508. (-5.0 <= +INF) = float: true + 509. (-5.0 > +INF) = float: false + 510. (-5.0 >= +INF) = float: false + 511. !(-5.0 == +INF) = float: true + 512. !(-5.0 != +INF) = float: false + 513. !(-5.0 < +INF) = float: false + 514. !(-5.0 <= +INF) = float: false + 515. !(-5.0 > +INF) = float: true + 516. !(-5.0 >= +INF) = float: true + 517. (-5.0 == +INF) = double: false + 518. (-5.0 != +INF) = double: true + 519. (-5.0 < +INF) = double: true + 520. (-5.0 <= +INF) = double: true + 521. (-5.0 > +INF) = double: false + 522. (-5.0 >= +INF) = double: false + 523. !(-5.0 == +INF) = double: true + 524. !(-5.0 != +INF) = double: false + 525. !(-5.0 < +INF) = double: false + 526. !(-5.0 <= +INF) = double: false + 527. !(-5.0 > +INF) = double: true + 528. !(-5.0 >= +INF) = double: true + 529. -0.0 + +INF = float: Infinity + 530. -0.0 - +INF = float: -Infinity + 531. -0.0 * +INF = float: NaN + 532. -0.0 / +INF = float: -0.0 + 533. -0.0 % +INF = float: -0.0 + 534. -0.0 + +INF = double: Infinity + 535. -0.0 - +INF = double: -Infinity + 536. -0.0 * +INF = double: NaN + 537. -0.0 / +INF = double: -0.0 + 538. -0.0 % +INF = double: -0.0 + 539. (-0.0 == +INF) = float: false + 540. (-0.0 != +INF) = float: true + 541. (-0.0 < +INF) = float: true + 542. (-0.0 <= +INF) = float: true + 543. (-0.0 > +INF) = float: false + 544. (-0.0 >= +INF) = float: false + 545. !(-0.0 == +INF) = float: true + 546. !(-0.0 != +INF) = float: false + 547. !(-0.0 < +INF) = float: false + 548. !(-0.0 <= +INF) = float: false + 549. !(-0.0 > +INF) = float: true + 550. !(-0.0 >= +INF) = float: true + 551. (-0.0 == +INF) = double: false + 552. (-0.0 != +INF) = double: true + 553. (-0.0 < +INF) = double: true + 554. (-0.0 <= +INF) = double: true + 555. (-0.0 > +INF) = double: false + 556. (-0.0 >= +INF) = double: false + 557. !(-0.0 == +INF) = double: true + 558. !(-0.0 != +INF) = double: false + 559. !(-0.0 < +INF) = double: false + 560. !(-0.0 <= +INF) = double: false + 561. !(-0.0 > +INF) = double: true + 562. !(-0.0 >= +INF) = double: true + 563. 0.0 + +INF = float: Infinity + 564. 0.0 - +INF = float: -Infinity + 565. 0.0 * +INF = float: NaN + 566. 0.0 / +INF = float: 0.0 + 567. 0.0 % +INF = float: 0.0 + 568. 0.0 + +INF = double: Infinity + 569. 0.0 - +INF = double: -Infinity + 570. 0.0 * +INF = double: NaN + 571. 0.0 / +INF = double: 0.0 + 572. 0.0 % +INF = double: 0.0 + 573. (0.0 == +INF) = float: false + 574. (0.0 != +INF) = float: true + 575. (0.0 < +INF) = float: true + 576. (0.0 <= +INF) = float: true + 577. (0.0 > +INF) = float: false + 578. (0.0 >= +INF) = float: false + 579. !(0.0 == +INF) = float: true + 580. !(0.0 != +INF) = float: false + 581. !(0.0 < +INF) = float: false + 582. !(0.0 <= +INF) = float: false + 583. !(0.0 > +INF) = float: true + 584. !(0.0 >= +INF) = float: true + 585. (0.0 == +INF) = double: false + 586. (0.0 != +INF) = double: true + 587. (0.0 < +INF) = double: true + 588. (0.0 <= +INF) = double: true + 589. (0.0 > +INF) = double: false + 590. (0.0 >= +INF) = double: false + 591. !(0.0 == +INF) = double: true + 592. !(0.0 != +INF) = double: false + 593. !(0.0 < +INF) = double: false + 594. !(0.0 <= +INF) = double: false + 595. !(0.0 > +INF) = double: true + 596. !(0.0 >= +INF) = double: true + 597. 5.0 + +INF = float: Infinity + 598. 5.0 - +INF = float: -Infinity + 599. 5.0 * +INF = float: Infinity + 600. 5.0 / +INF = float: 0.0 + 601. 5.0 % +INF = float: 5.0 + 602. 5.0 + +INF = double: Infinity + 603. 5.0 - +INF = double: -Infinity + 604. 5.0 * +INF = double: Infinity + 605. 5.0 / +INF = double: 0.0 + 606. 5.0 % +INF = double: 5.0 + 607. (5.0 == +INF) = float: false + 608. (5.0 != +INF) = float: true + 609. (5.0 < +INF) = float: true + 610. (5.0 <= +INF) = float: true + 611. (5.0 > +INF) = float: false + 612. (5.0 >= +INF) = float: false + 613. !(5.0 == +INF) = float: true + 614. !(5.0 != +INF) = float: false + 615. !(5.0 < +INF) = float: false + 616. !(5.0 <= +INF) = float: false + 617. !(5.0 > +INF) = float: true + 618. !(5.0 >= +INF) = float: true + 619. (5.0 == +INF) = double: false + 620. (5.0 != +INF) = double: true + 621. (5.0 < +INF) = double: true + 622. (5.0 <= +INF) = double: true + 623. (5.0 > +INF) = double: false + 624. (5.0 >= +INF) = double: false + 625. !(5.0 == +INF) = double: true + 626. !(5.0 != +INF) = double: false + 627. !(5.0 < +INF) = double: false + 628. !(5.0 <= +INF) = double: false + 629. !(5.0 > +INF) = double: true + 630. !(5.0 >= +INF) = double: true + 631. ------------------- test -INF op value + 632. -INF + -5.0 = float: -Infinity + 633. -INF - -5.0 = float: -Infinity + 634. -INF * -5.0 = float: Infinity + 635. -INF / -5.0 = float: Infinity + 636. -INF % -5.0 = float: NaN + 637. -INF + -5.0 = double: -Infinity + 638. -INF - -5.0 = double: -Infinity + 639. -INF * -5.0 = double: Infinity + 640. -INF / -5.0 = double: Infinity + 641. -INF % -5.0 = double: NaN + 642. (-INF == -5.0) = float: false + 643. (-INF != -5.0) = float: true + 644. (-INF < -5.0) = float: true + 645. (-INF <= -5.0) = float: true + 646. (-INF > -5.0) = float: false + 647. (-INF >= -5.0) = float: false + 648. !(-INF == -5.0) = float: true + 649. !(-INF != -5.0) = float: false + 650. !(-INF < -5.0) = float: false + 651. !(-INF <= -5.0) = float: false + 652. !(-INF > -5.0) = float: true + 653. !(-INF >= -5.0) = float: true + 654. (-INF == -5.0) = double: false + 655. (-INF != -5.0) = double: true + 656. (-INF < -5.0) = double: true + 657. (-INF <= -5.0) = double: true + 658. (-INF > -5.0) = double: false + 659. (-INF >= -5.0) = double: false + 660. !(-INF == -5.0) = double: true + 661. !(-INF != -5.0) = double: false + 662. !(-INF < -5.0) = double: false + 663. !(-INF <= -5.0) = double: false + 664. !(-INF > -5.0) = double: true + 665. !(-INF >= -5.0) = double: true + 666. -INF + -0.0 = float: -Infinity + 667. -INF - -0.0 = float: -Infinity + 668. -INF * -0.0 = float: NaN + 669. -INF / -0.0 = float: Infinity + 670. -INF % -0.0 = float: NaN + 671. -INF + -0.0 = double: -Infinity + 672. -INF - -0.0 = double: -Infinity + 673. -INF * -0.0 = double: NaN + 674. -INF / -0.0 = double: Infinity + 675. -INF % -0.0 = double: NaN + 676. (-INF == -0.0) = float: false + 677. (-INF != -0.0) = float: true + 678. (-INF < -0.0) = float: true + 679. (-INF <= -0.0) = float: true + 680. (-INF > -0.0) = float: false + 681. (-INF >= -0.0) = float: false + 682. !(-INF == -0.0) = float: true + 683. !(-INF != -0.0) = float: false + 684. !(-INF < -0.0) = float: false + 685. !(-INF <= -0.0) = float: false + 686. !(-INF > -0.0) = float: true + 687. !(-INF >= -0.0) = float: true + 688. (-INF == -0.0) = double: false + 689. (-INF != -0.0) = double: true + 690. (-INF < -0.0) = double: true + 691. (-INF <= -0.0) = double: true + 692. (-INF > -0.0) = double: false + 693. (-INF >= -0.0) = double: false + 694. !(-INF == -0.0) = double: true + 695. !(-INF != -0.0) = double: false + 696. !(-INF < -0.0) = double: false + 697. !(-INF <= -0.0) = double: false + 698. !(-INF > -0.0) = double: true + 699. !(-INF >= -0.0) = double: true + 700. -INF + 0.0 = float: -Infinity + 701. -INF - 0.0 = float: -Infinity + 702. -INF * 0.0 = float: NaN + 703. -INF / 0.0 = float: -Infinity + 704. -INF % 0.0 = float: NaN + 705. -INF + 0.0 = double: -Infinity + 706. -INF - 0.0 = double: -Infinity + 707. -INF * 0.0 = double: NaN + 708. -INF / 0.0 = double: -Infinity + 709. -INF % 0.0 = double: NaN + 710. (-INF == 0.0) = float: false + 711. (-INF != 0.0) = float: true + 712. (-INF < 0.0) = float: true + 713. (-INF <= 0.0) = float: true + 714. (-INF > 0.0) = float: false + 715. (-INF >= 0.0) = float: false + 716. !(-INF == 0.0) = float: true + 717. !(-INF != 0.0) = float: false + 718. !(-INF < 0.0) = float: false + 719. !(-INF <= 0.0) = float: false + 720. !(-INF > 0.0) = float: true + 721. !(-INF >= 0.0) = float: true + 722. (-INF == 0.0) = double: false + 723. (-INF != 0.0) = double: true + 724. (-INF < 0.0) = double: true + 725. (-INF <= 0.0) = double: true + 726. (-INF > 0.0) = double: false + 727. (-INF >= 0.0) = double: false + 728. !(-INF == 0.0) = double: true + 729. !(-INF != 0.0) = double: false + 730. !(-INF < 0.0) = double: false + 731. !(-INF <= 0.0) = double: false + 732. !(-INF > 0.0) = double: true + 733. !(-INF >= 0.0) = double: true + 734. -INF + 5.0 = float: -Infinity + 735. -INF - 5.0 = float: -Infinity + 736. -INF * 5.0 = float: -Infinity + 737. -INF / 5.0 = float: -Infinity + 738. -INF % 5.0 = float: NaN + 739. -INF + 5.0 = double: -Infinity + 740. -INF - 5.0 = double: -Infinity + 741. -INF * 5.0 = double: -Infinity + 742. -INF / 5.0 = double: -Infinity + 743. -INF % 5.0 = double: NaN + 744. (-INF == 5.0) = float: false + 745. (-INF != 5.0) = float: true + 746. (-INF < 5.0) = float: true + 747. (-INF <= 5.0) = float: true + 748. (-INF > 5.0) = float: false + 749. (-INF >= 5.0) = float: false + 750. !(-INF == 5.0) = float: true + 751. !(-INF != 5.0) = float: false + 752. !(-INF < 5.0) = float: false + 753. !(-INF <= 5.0) = float: false + 754. !(-INF > 5.0) = float: true + 755. !(-INF >= 5.0) = float: true + 756. (-INF == 5.0) = double: false + 757. (-INF != 5.0) = double: true + 758. (-INF < 5.0) = double: true + 759. (-INF <= 5.0) = double: true + 760. (-INF > 5.0) = double: false + 761. (-INF >= 5.0) = double: false + 762. !(-INF == 5.0) = double: true + 763. !(-INF != 5.0) = double: false + 764. !(-INF < 5.0) = double: false + 765. !(-INF <= 5.0) = double: false + 766. !(-INF > 5.0) = double: true + 767. !(-INF >= 5.0) = double: true + 768. ------------------- test -INF op value + 769. -5.0 + -INF = float: -Infinity + 770. -5.0 - -INF = float: Infinity + 771. -5.0 * -INF = float: Infinity + 772. -5.0 / -INF = float: 0.0 + 773. -5.0 % -INF = float: -5.0 + 774. -5.0 + -INF = double: -Infinity + 775. -5.0 - -INF = double: Infinity + 776. -5.0 * -INF = double: Infinity + 777. -5.0 / -INF = double: 0.0 + 778. -5.0 % -INF = double: -5.0 + 779. (-5.0 == -INF) = float: false + 780. (-5.0 != -INF) = float: true + 781. (-5.0 < -INF) = float: false + 782. (-5.0 <= -INF) = float: false + 783. (-5.0 > -INF) = float: true + 784. (-5.0 >= -INF) = float: true + 785. !(-5.0 == -INF) = float: true + 786. !(-5.0 != -INF) = float: false + 787. !(-5.0 < -INF) = float: true + 788. !(-5.0 <= -INF) = float: true + 789. !(-5.0 > -INF) = float: false + 790. !(-5.0 >= -INF) = float: false + 791. (-5.0 == -INF) = double: false + 792. (-5.0 != -INF) = double: true + 793. (-5.0 < -INF) = double: false + 794. (-5.0 <= -INF) = double: false + 795. (-5.0 > -INF) = double: true + 796. (-5.0 >= -INF) = double: true + 797. !(-5.0 == -INF) = double: true + 798. !(-5.0 != -INF) = double: false + 799. !(-5.0 < -INF) = double: true + 800. !(-5.0 <= -INF) = double: true + 801. !(-5.0 > -INF) = double: false + 802. !(-5.0 >= -INF) = double: false + 803. -0.0 + -INF = float: -Infinity + 804. -0.0 - -INF = float: Infinity + 805. -0.0 * -INF = float: NaN + 806. -0.0 / -INF = float: 0.0 + 807. -0.0 % -INF = float: -0.0 + 808. -0.0 + -INF = double: -Infinity + 809. -0.0 - -INF = double: Infinity + 810. -0.0 * -INF = double: NaN + 811. -0.0 / -INF = double: 0.0 + 812. -0.0 % -INF = double: -0.0 + 813. (-0.0 == -INF) = float: false + 814. (-0.0 != -INF) = float: true + 815. (-0.0 < -INF) = float: false + 816. (-0.0 <= -INF) = float: false + 817. (-0.0 > -INF) = float: true + 818. (-0.0 >= -INF) = float: true + 819. !(-0.0 == -INF) = float: true + 820. !(-0.0 != -INF) = float: false + 821. !(-0.0 < -INF) = float: true + 822. !(-0.0 <= -INF) = float: true + 823. !(-0.0 > -INF) = float: false + 824. !(-0.0 >= -INF) = float: false + 825. (-0.0 == -INF) = double: false + 826. (-0.0 != -INF) = double: true + 827. (-0.0 < -INF) = double: false + 828. (-0.0 <= -INF) = double: false + 829. (-0.0 > -INF) = double: true + 830. (-0.0 >= -INF) = double: true + 831. !(-0.0 == -INF) = double: true + 832. !(-0.0 != -INF) = double: false + 833. !(-0.0 < -INF) = double: true + 834. !(-0.0 <= -INF) = double: true + 835. !(-0.0 > -INF) = double: false + 836. !(-0.0 >= -INF) = double: false + 837. 0.0 + -INF = float: -Infinity + 838. 0.0 - -INF = float: Infinity + 839. 0.0 * -INF = float: NaN + 840. 0.0 / -INF = float: -0.0 + 841. 0.0 % -INF = float: 0.0 + 842. 0.0 + -INF = double: -Infinity + 843. 0.0 - -INF = double: Infinity + 844. 0.0 * -INF = double: NaN + 845. 0.0 / -INF = double: -0.0 + 846. 0.0 % -INF = double: 0.0 + 847. (0.0 == -INF) = float: false + 848. (0.0 != -INF) = float: true + 849. (0.0 < -INF) = float: false + 850. (0.0 <= -INF) = float: false + 851. (0.0 > -INF) = float: true + 852. (0.0 >= -INF) = float: true + 853. !(0.0 == -INF) = float: true + 854. !(0.0 != -INF) = float: false + 855. !(0.0 < -INF) = float: true + 856. !(0.0 <= -INF) = float: true + 857. !(0.0 > -INF) = float: false + 858. !(0.0 >= -INF) = float: false + 859. (0.0 == -INF) = double: false + 860. (0.0 != -INF) = double: true + 861. (0.0 < -INF) = double: false + 862. (0.0 <= -INF) = double: false + 863. (0.0 > -INF) = double: true + 864. (0.0 >= -INF) = double: true + 865. !(0.0 == -INF) = double: true + 866. !(0.0 != -INF) = double: false + 867. !(0.0 < -INF) = double: true + 868. !(0.0 <= -INF) = double: true + 869. !(0.0 > -INF) = double: false + 870. !(0.0 >= -INF) = double: false + 871. 5.0 + -INF = float: -Infinity + 872. 5.0 - -INF = float: Infinity + 873. 5.0 * -INF = float: -Infinity + 874. 5.0 / -INF = float: -0.0 + 875. 5.0 % -INF = float: 5.0 + 876. 5.0 + -INF = double: -Infinity + 877. 5.0 - -INF = double: Infinity + 878. 5.0 * -INF = double: -Infinity + 879. 5.0 / -INF = double: -0.0 + 880. 5.0 % -INF = double: 5.0 + 881. (5.0 == -INF) = float: false + 882. (5.0 != -INF) = float: true + 883. (5.0 < -INF) = float: false + 884. (5.0 <= -INF) = float: false + 885. (5.0 > -INF) = float: true + 886. (5.0 >= -INF) = float: true + 887. !(5.0 == -INF) = float: true + 888. !(5.0 != -INF) = float: false + 889. !(5.0 < -INF) = float: true + 890. !(5.0 <= -INF) = float: true + 891. !(5.0 > -INF) = float: false + 892. !(5.0 >= -INF) = float: false + 893. (5.0 == -INF) = double: false + 894. (5.0 != -INF) = double: true + 895. (5.0 < -INF) = double: false + 896. (5.0 <= -INF) = double: false + 897. (5.0 > -INF) = double: true + 898. (5.0 >= -INF) = double: true + 899. !(5.0 == -INF) = double: true + 900. !(5.0 != -INF) = double: false + 901. !(5.0 < -INF) = double: true + 902. !(5.0 <= -INF) = double: true + 903. !(5.0 > -INF) = double: false + 904. !(5.0 >= -INF) = double: false + 905. ------------------- test MAX op value + 906. MAX + 5.0 = float: 3.4028235E38 + 907. MAX - 5.0 = float: 3.4028235E38 + 908. MAX * 5.0 = float: Infinity + 909. MAX / 5.0 = float: 6.805647E37 + 910. MAX % 5.0 = float: 0.0 + 911. MAX + 5.0 = double: 1.7976931348623157E308 + 912. MAX - 5.0 = double: 1.7976931348623157E308 + 913. MAX * 5.0 = double: Infinity + 914. MAX / 5.0 = double: 3.5953862697246315E307 + 915. MAX % 5.0 = double: 3.0 + 916. ------------------- test value op MAX + 917. 5.0 + MAX = float: 3.4028235E38 + 918. 5.0 - MAX = float: -3.4028235E38 + 919. 5.0 * MAX = float: Infinity + 920. 5.0 / MAX = float: 1.4693681E-38 + 921. 5.0 % MAX = float: 5.0 + 922. 5.0 + MAX = double: 1.7976931348623157E308 + 923. 5.0 - MAX = double: -1.7976931348623157E308 + 924. 5.0 * MAX = double: Infinity + 925. 5.0 / MAX = double: 2.781342323134002E-308 + 926. 5.0 % MAX = double: 5.0 + 927. ------------------- test MIN op value + 928. MIN + 5.0 = float: 5.0 + 929. MIN - 5.0 = float: -5.0 + 930. MIN * 5.0 = float: 7.006492E-45 + 931. MIN / 5.0 = float: 0.0 + 932. MIN % 5.0 = float: 1.4012985E-45 + 933. MIN + 5.0 = double: 5.0 + 934. MIN - 5.0 = double: -5.0 + 935. MIN * 5.0 = double: 2.5E-323 + 936. MIN / 5.0 = double: 0.0 + 937. MIN % 5.0 = double: 5.0E-324 + 938. ------------------- test value op MIN + 939. 5.0 + MIN = float: 5.0 + 940. 5.0 - MIN = float: 5.0 + 941. 5.0 * MIN = float: 7.006492E-45 + 942. 5.0 / MIN = float: Infinity + 943. 5.0 % MIN = float: 0.0 + 944. 5.0 + MIN = double: 5.0 + 945. 5.0 - MIN = double: 5.0 + 946. 5.0 * MIN = double: 2.5E-323 + 947. 5.0 / MIN = double: Infinity + 948. 5.0 % MIN = double: 0.0 + 949. \ No newline at end of file diff --git a/tests/regression/jctest.java b/tests/regression/jctest.java new file mode 100644 index 000000000..cb89494c0 --- /dev/null +++ b/tests/regression/jctest.java @@ -0,0 +1,1577 @@ +/* tests/jctest.java - checks most of the JVM instructions + + Copyright (C) 1996-2005 R. Grafl, A. Krall, C. Kruegel, C. Oates, + R. Obermaisser, M. Platter, M. Probst, S. Ring, E. Steiner, + C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich, J. Wenninger, + TU Wien + + This file is part of CACAO. + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2, or (at + your option) any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + 02111-1307, USA. + + Contact: cacao@complang.tuwien.ac.at + + Authors: Reinhard Grafl + + Changes: Christian Thalinger + + $Id: jctest.java 3061 2005-07-19 08:52:11Z twisti $ + +*/ + +public class jctest implements jcinterface { + static { + p(" called"); + } + + static int linenum = 0; + + static int i1 = 77; + static long l1 = 123456789, l2 = 987654321, l3 = -99999999999999L; + static int i2, i3 = -100; + static float f1 = 0.1F, f2 = 0.2F, f3 = 0.3F; + static double d1 = 0.001, d2 = 0.002, d3 = 0.003; + static String s1, s2 = "constant string"; + + int n_i1, n_i2, n_i3, n_i4; + long n_l1, n_l2, n_l3, n_l4; + float n_f1, n_f2, n_f3, n_f4; + double n_d1, n_d2, n_d3, n_d4; + + + public static void main(String[] s) { + p ("=================== JavaVM - Tester ========================"); + + p ("------------------- test arguments"); + int i; + for (i = 0; i < s.length; i++) p(s[i]); + + testgeneral(); + testtables(); + testcasts(); + testspecialnullpointers(); + testarrays(); + + p("------------------- test consts"); + testconst( 1, 1); + testconst(-1, -1); + testconst(-24123, -4918923241323L); + testconst(-243511, -4423423234231423L); + testconst(0x7fffffff, 0x7fffffffffffffffL); + testconst(0x80000000, 0x8000000000000000L); + + p("------------------- test div and rem consts"); + testdivremconst(17); + testdivremconst(12347); + testdivremconst(8893427); + testdivremconst(1005234562); + testdivremconst(-17); + testdivremconst(-12347); + testdivremconst(-8893427); + testdivremconst(-1005234562); + + testdivremconst(17L); + testdivremconst(12347L); + testdivremconst(8893427L); + testdivremconst(1005234562L); + testdivremconst(12135005234562L); + testdivremconst(2343552355623464626L); + testdivremconst(-17L); + testdivremconst(-12347L); + testdivremconst(-8893427L); + testdivremconst(-1005234562L); + testdivremconst(-12135005234562L); + testdivremconst(-2343552355623464626L); + + p("------------------- test ints"); + testint(1,2); + testint(-1,17); + testint(-24351,24123); + testint(4918923,-441423); + testint(0,0); + testint(-1,-1); + testint(1423487,123444444); + testint(0x7fffffff,1); + testint(0,0x7fffffff); + testint(0x3333,143444); + testint(4444441,12342); + testint(0x80000000,-1); + + p("------------------- test longs"); + testlong(1,2); + testlong(-1,17); + testlong(-24351,24123); + testlong(4918923241323L,-4423423234231423L); + testlong(0,0); + testlong(-1,-1); + testlong(1423487,123444442344L); + testlong(0x7fffffffffffffffL,1); + testlong(0,0x7fffffffffffffffL); + testlong(0x3333,143444); + testlong(4444441,12342); + testlong(0x8000000000000000L,-1); + + p("------------------- test floats"); + testfloat((float) 1,(float) 2.042); + testfloat((float) -1.234,(float) 17.44); + testfloat((float) -24351,(float) 24123); + testfloat((float) 0.1,(float) 1243); + testfloat((float) 0.0,(float) -555.4132); + testfloat((float) 77.0,(float) -555); + testfloat((float) 2147483000.0,(float) -555234); + + p("------------------- test doubles"); + testdouble(1,2.042); + testdouble(-1.234,17.44); + testdouble(-24351,24123); + testdouble(0.1,1243); + testdouble(0.0,-555.4132); + testdouble(77.0,-555); + testdouble(2147483000.0,-555234); + + p("=================== end of test ========================="); + } + + + public static void testgeneral() { + int i; + // ******************** basic data types ******************************* + + p ("------------------- test int-PUSH-STORE-LOAD"); + int j = -1; + p(j); p (0); p(2); p(17); p(-100); + p (500); p(-32768); p(-32769); p(32767); p(32768); + p (90000); p(-1000000000); + + p ("------------------- test long-PUSH-STORE-LOAD"); + long l = 3L; + p ( l ); p ( 0L ); p ( 99L ); + p (500L); p(-32768L); p(-32769L); p(32767L); p(32768L); + p ( 6900000000000L ); p ( 349827389478173274L ); + + p ("------------------- test float-PUSH-STORE-LOAD"); + float f = 99.444F; + p ( f ); p (0.0F); p (1.0F); p (342323423478.2223434234232334F); + + p ("------------------- test double-PUSH-STORE-LOAD"); + double d = 99234.42D; + p ( d ); p (0.0D); p (1.0D); p (342323423478.2223434234232334D); + + + // ******************** static variables ******************************* + + p ("------------------- test static variables"); + i1 = i1+i2+i3; + l2 = l1+l2+l3; + f1 = f1*f2; + p (i1); p(i2); p(i3); + p (l1); p(l2); p(l3); + p (f1); p(f2); p(f3); + p (d1); p(d2); p(d3); + + // ******************** arithmetic test ******************************** + + p ("------------------- test arithmetic"); + i1 = 17; + i2 = 0x7fffffff; + p (i2); + p (i2+1); + p (i1-i2); + l1 = 0x7fffffffffffffffL; + p (l1); + p (l1+1); + p (l1+0x7fffffffffffffffL); + + + // ******************** test method calls ****************************** + + p ("statische methode"); + jctest ttt = new jctest (); + ttt.p_manyparam (19,18,17,16, 88,77,66,55, + 0.1F,0.2F,0.3F,0.4F, -2.0D,-3.0D,-4.0D,-5.0D ); + jcinterface ttt2 = ttt; + ttt2.p_nonstatic ("interface method"); + } + + + + // ************************ test tables ************************************ + + public static void testtables() { + int i; + + p ("------------------- test tableswitch"); + + for (i = -5; i < 15; i++) { + switch (i) { + case 2: p ("-> 2"); break; + case 3: p ("-> 3"); break; + case 5: p ("-> 5"); break; + case 6: p ("-> 6"); break; + case 7: p ("-> 7"); break; + case 8: p ("-> 8"); break; + case 10: p ("-> 10"); break; + default: p ("default"); break; + } + } + + p ("------------------- test lookupswitch"); + + for (i = -5; i < 15; i++) { + switch (i) { + case 2: p ("-> 2"); break; + case 8: p ("-> 8"); break; + case 14: p ("-> 14"); break; + case -4: p ("-> -4"); break; + default: p ("default"); break; + } + } + } + + + // ****************** test type casts and array stores ********************* + + public static void testcasts() { + Object o = new Object(); + Object oi = new Integer(0); + Object[] oa = new Object [1]; + Object[] oia = new Integer[1]; + Integer i = new Integer(0); + Integer[] ia; + java.io.DataOutput dataout = null; + Object od = new java.io.DataOutputStream( + (java.io.DataOutputStream)dataout); + + p ("------------------- test casts"); + + p("Integer is instanceof Object: ", oi instanceof Object); + p("Integer is instanceof Integer: ", oi instanceof Integer); + p("Object is instanceof Integer: ", o instanceof Integer); + + try { + p ("type cast check: Integer = Object(Integer)"); + i = (Integer) oi; + p ("type cast check: Integer = Object"); + i = (Integer) o; + p ("error: class cast exception not thrown"); + } + catch (ClassCastException c) { + p ("exception: class cast"); + } + + p("DataOutputStream is instanceof DataOutput: ", + od instanceof java.io.DataOutput); + p("Object is instanceof DataOutput: ", o instanceof java.io.DataOutput); + + try { + p ("type cast check: DataOutput = Object(DataOutputStream)"); + dataout = (java.io.DataOutput) od; + p ("type cast check: DataOutput = Object"); + dataout = (java.io.DataOutput) o; + p ("error: class cast exception not thrown"); + } + catch (ClassCastException c) { + p ("exception: class cast"); + } + + try { + p ("type cast check: Integer[] = Object(Integer)[]"); + ia = (Integer[]) oia; + p ("type cast check: Integer[] = Object[]"); + ia = (Integer[]) oa; + p ("error: class cast exception not thrown"); + } + catch (ClassCastException c) { + p ("exception: class cast"); + } + + try { + p ("array store check: Object(Integer)[0] = Integer"); + oia[0] = i; + p ("array store check: Object(Integer)[0] = Object"); + oia[0] = o; + p ("error: array store exception not thrown"); + } + catch (ArrayStoreException c) { + p ("exception: array store"); + } + } + + + // ****************** test special null pointers *************************** + + public static void testspecialnullpointers() { + int i = 0; + jctest c = null; + jcinterface f = null; + + p ("------------------- test special null pointers"); + + try { + p ("null pointer check: put field"); + c.n_i1 = 0; + p ("error: put field null pointer exception not thrown"); + } + catch (NullPointerException x) { + p ("exception: null pointer"); + } + + try { + p ("null pointer check: get field"); + i = c.n_i1; + p ("error: get field null pointer exception not thrown"); + } + catch (NullPointerException x) { + p ("exception: null pointer"); + } + + try { + p ("null pointer check: invokevirtual"); + c.p_nonstatic("invokevirtual"); + p ("error: invokevirtual null pointer exception not thrown"); + } + catch (NullPointerException x) { + p ("exception: null pointer"); + } + + try { + p ("null pointer check: invokeinterface"); + f.p_nonstatic("invokeinterface"); + p ("error: invokeinterface null pointer exception not thrown"); + } + catch (NullPointerException x) { + p ("exception: null pointer"); + } + + try { + p ("null pointer check: monitorenter"); + synchronized (c) { + p ("error: monitorenter null pointer exception not thrown"); + } + } + catch (NullPointerException x) { + p ("exception: null pointer"); + } + } + + + // ************************ test array bounds ****************************** + + public static void testarraybounds(byte[] ba, int i) { + p ("testarraybounds: " + (i - 10)); + ba[i-10] = 0; + p ("testarraybounds: " + (i - 5)); + ba[i-5] = 0; + p ("testarraybounds: " + (i)); + ba[i] = 0; + p ("testarraybounds: " + (i + 5)); + ba[i+5] = 0; + p ("testarraybounds: " + (i + 10)); + ba[i+10] = 0; + } + + + // ************************ test arrays ************************************ + + public static void testarrays() { + int i; + long l; + float f; + double d; + String s; + + p ("------------------- test byte arrays"); + + byte[] ba = null; + + try { + p ("null pointer check: byte array store"); + ba[1] = 0; + p ("error: null pointer exception not thrown"); + } + catch (NullPointerException c) { + p ("exception: null pointer"); + } + try { + p ("null pointer check: byte array load"); + i = ba[1]; + p ("error: null pointer exception not thrown"); + } + catch (NullPointerException c) { + p ("exception: null pointer"); + } + + try { + p ("negative array size check: byte array"); + ba = new byte [-2]; + p ("error: negative array size exception not thrown"); + } + catch (NegativeArraySizeException c) { + p ("exception: negative array size"); + } + + ba = new byte [100]; + + + try { + p ("array bound check: byte array store"); + ba[-1] = 0; + p ("error: exception not thrown"); + } + catch (ArrayIndexOutOfBoundsException c) { + p ("exception_1: out of bounds: "+(-1)); + } + try { + p ("array bound check: byte array load"); + i = ba[-1]; + p ("error: exception not thrown"); + } + catch (ArrayIndexOutOfBoundsException c) { + p ("exception_2: out of bounds: "+(-1)); + } + + try { + testarraybounds(ba, 5); + } + catch (ArrayIndexOutOfBoundsException c) { + p ("exception_3: out of bounds: "+5); + } + try { + testarraybounds(ba, 50); + } + catch (ArrayIndexOutOfBoundsException c) { + p ("exception_4: out of bounds: "+50); + } + try { + testarraybounds(ba, 100); + } + catch (ArrayIndexOutOfBoundsException c) { + p ("exception_5: out of bounds: "+100); + } + + try { + ba[-4] = 0; + } + catch (ArrayIndexOutOfBoundsException c) { + p ("exception_6: out of bounds: "+(-4)); + } + try { + ba[-3] = 0; + } + catch (ArrayIndexOutOfBoundsException c) { + p ("exception_7: out of bounds: "+(-3)); + } + + for (i=-2; i<102; i++) { + try { + ba[i] = (byte) (i-50); + } + catch (ArrayIndexOutOfBoundsException c) { + p ("exception_8: out of bounds: "+i); + } + } + + try { + ba[102] = 0; + } + catch (ArrayIndexOutOfBoundsException c) { + p ("exception_9: out of bounds: "+102); + } + try { + ba[103] = 0; + } + catch (ArrayIndexOutOfBoundsException c) { + p ("exception_10: out of bounds: "+103); + } + for (i=0; i<100; i++) p (ba[i]); + + + + + p ("-------- test short arrays"); + + short[] sa = null; + + try { + p ("null pointer check: short array store"); + sa[1] = 0; + p ("error: null pointer exception not thrown"); + } + catch (NullPointerException c) { + p ("exception: null pointer"); + } + try { + p ("null pointer check: short array load"); + i = sa[1]; + p ("error: null pointer exception not thrown"); + } + catch (NullPointerException c) { + p ("exception: null pointer"); + } + + sa = new short [100]; + + try { + p ("array bound check: short array store"); + sa[-1] = 0; + p ("error: exception not thrown"); + } + catch (ArrayIndexOutOfBoundsException c) { + p ("exception_11: out of bounds: "+(-1)); + } + try { + p ("array bound check: short array load"); + i = sa[-1]; + p ("error: exception not thrown"); + } + catch (ArrayIndexOutOfBoundsException c) { + p ("exception_12: out of bounds: "+(-1)); + } + + for (i=0; i<100; i++) sa[i] = (short) (i-50); + for (i=0; i<100; i++) p (sa[i]); + + + + p ("-------- test int arrays"); + + int[] ia = null; + + try { + p ("null pointer check: int array store"); + ia[1] = 0; + p ("error: null pointer exception not thrown"); + } + catch (NullPointerException c) { + p ("exception: null pointer"); + } + try { + p ("null pointer check: int array load"); + i = ia[1]; + p ("error: null pointer exception not thrown"); + } + catch (NullPointerException c) { + p ("exception: null pointer"); + } + + ia = new int [50]; + + try { + p ("array bound check: int array store"); + ia[-1] = 0; + p ("error: exception not thrown"); + } + catch (ArrayIndexOutOfBoundsException c) { + p ("exception: out of bounds: "+(-1)); + } + try { + p ("array bound check: int array load"); + i = ia[-1]; + p ("error: exception not thrown"); + } + catch (ArrayIndexOutOfBoundsException c) { + p ("exception: out of bounds: "+(-1)); + } + + for (i=0; i<10; i++) ia[i] = (123456 + i); + for (i=0; i<10; i++) p (ia[i]); + + + + p ("-------- test long arrays"); + + long[] la = null; + + try { + p ("null pointer check: long array store"); + la[1] = 0; + p ("error: null pointer exception not thrown"); + } + catch (NullPointerException c) { + p ("exception: null pointer"); + } + try { + p ("null pointer check: long array load"); + l = la[1]; + p ("error: null pointer exception not thrown"); + } + catch (NullPointerException c) { + p ("exception: null pointer"); + } + + la = new long [10]; + + try { + p ("array bound check: long array store"); + la[-1] = 0; + p ("error: exception not thrown"); + } + catch (ArrayIndexOutOfBoundsException c) { + p ("exception: out of bounds: "+(-1)); + } + try { + p ("array bound check: long array load"); + l = la[-1]; + p ("error: exception not thrown"); + } + catch (ArrayIndexOutOfBoundsException c) { + p ("exception: out of bounds: "+(-1)); + } + + for (i=0; i<10; i++) la[i] = (1234567890123L + i); + for (i=0; i<10; i++) p (la[i]); + + + p ("-------- test char arrays"); + + char[] ca = null; + + try { + p ("null pointer check: char array store"); + ca[1] = 0; + p ("error: null pointer exception not thrown"); + } + catch (NullPointerException c) { + p ("exception: null pointer"); + } + try { + p ("null pointer check: char array load"); + i = ca[1]; + p ("error: null pointer exception not thrown"); + } + catch (NullPointerException c) { + p ("exception: null pointer"); + } + + ca = new char [50]; + + try { + p ("array bound check: char array store"); + ca[-1] = 0; + p ("error: exception not thrown"); + } + catch (ArrayIndexOutOfBoundsException c) { + p ("exception: out of bounds: "+(-1)); + } + try { + p ("array bound check: char array load"); + i = ca[-1]; + p ("error: exception not thrown"); + } + catch (ArrayIndexOutOfBoundsException c) { + p ("exception: out of bounds: "+(-1)); + } + + for (i=0; i<50; i++) ca[i] = (char) ('A' + i); + for (i=0; i<50; i++) p (ca[i]); + + p ("-------- test address arrays"); + + String[] sta = null; + + try { + p ("null pointer check: address array store"); + sta[1] = null; + p ("error: null pointer exception not thrown"); + } + catch (NullPointerException c) { + p ("exception: null pointer"); + } + try { + p ("null pointer check: address array load"); + s = sta[1]; + p ("error: null pointer exception not thrown"); + } + catch (NullPointerException c) { + p ("exception: null pointer"); + } + + try { + p ("negative array size check: address array"); + sta = new String[-3]; + p ("error: negative array size exception not thrown"); + } + catch (NegativeArraySizeException c) { + p ("exception: negative array size"); + } + + sta = new String[5]; + + try { + p ("array bound check: address array store"); + sta[-1] = null; + p ("error: exception not thrown"); + } + catch (ArrayIndexOutOfBoundsException c) { + p ("exception: out of bounds: "+(-1)); + } + try { + p ("array bound check: address array load"); + s = sta[-1]; + p ("error: exception not thrown"); + } + catch (ArrayIndexOutOfBoundsException c) { + p ("exception: out of bounds: "+(-1)); + } + + for (i=0; i<5; i++) sta[i] = Integer.toString(i) + ". Zeile"; + for (i=0; i<5; i++) p (sta[i]); + + p ("-------- test multi dimensional arrays"); + + int [][][] iaaa = null; + + try { + p ("negative array size check: multi dimensional array"); + iaaa = new int[2][3][-4]; + p ("error: negative array size exception not thrown"); + } + catch (NegativeArraySizeException c) { + p ("exception: negative array size"); + } + + try { + p("savedvar size copy check: multi dimensional array"); + Integer io = new Integer(10); + iaaa = new int[10][io.intValue()][10]; + for (i = 0; i < 10; i++) { + for (int j = 0; j < 10; j++) { + for (int k = 0; k < 10; k++) { + iaaa[i][j][k] = 1; + } + } + } + p("successfully created"); + } catch (Exception e) { + p("error: exception thrown"); + } + + iaaa = new int[2][3][4]; + long [][][] laaa = new long[2][3][6]; + float [][][] faaa = new float[2][3][4]; + double [][][] daaa = new double[3][4][7]; + for (i=0; i<2; i++) { + int i2; for (i2=0; i2<3; i2++) { + int i3; for (i3=0; i3<4; i3++) { + iaaa[i][i2][i3] = i*i*i + i2*i2 + i3; + laaa[i][i2][i3] = i*i*i + i2*i2 + i3 + 7; + faaa[i][i2][i3] = i*i*i + i2*i2 + i3 + 0.4F; + daaa[i][i2][i3] = i*i*i + i2*i2 + i3 - 47.0001; + p (iaaa[i][i2][i3]); + p (laaa[i][i2][i3]); + p (faaa[i][i2][i3]); + p (daaa[i][i2][i3]); + } + } + } + } + + + static public void testconst(int i, long l) { + p ("TESTCONST CALLED WITH ", i); + p (" AND ", l); + + if (!(i == (0))) p("not IFEQ: ", (0)); + if (!(i != (0))) p("not IFNE: ", (0)); + if (!(i < (0))) p("not IFLT: ", (0)); + if (!(i <= (0))) p("not IFLE: ", (0)); + if (!(i > (0))) p("not IFGT: ", (0)); + if (!(i >= (0))) p("not IFGE: ", (0)); + + if (!(l == (0))) p("not IF_LEQ: ", (0)); + if (!(l != (0))) p("not IF_LNE: ", (0)); + if (!(l < (0))) p("not IF_LLT: ", (0)); + if (!(l <= (0))) p("not IF_LLE: ", (0)); + if (!(l > (0))) p("not IF_LGT: ", (0)); + if (!(l >= (0))) p("not IF_LGE: ", (0)); + + p("IADDCONST: ", i + (-1)); + p("ISUBCONST: ", i - (-1)); + p("IMULCONST: ", i * (-1)); + p("ISHLCONST: ", i << (-1)); + p("ISHRCONST: ", i >> (-1)); + p("IUSHRCONST: ", i >>> (-1)); + p("IANDCONST: ", i & (-1)); + p("IORCONST: ", i | (-1)); + p("IXORCONST: ", i ^ (-1)); + + if (!(i == (-1))) p("not IFEQ: ", (-1)); + if (!(i != (-1))) p("not IFNE: ", (-1)); + if (!(i < (-1))) p("not IFLT: ", (-1)); + if (!(i <= (-1))) p("not IFLE: ", (-1)); + if (!(i > (-1))) p("not IFGT: ", (-1)); + if (!(i >= (-1))) p("not IFGE: ", (-1)); + + p("LADDCONST: ", l + (-1)); + p("LSUBCONST: ", l - (-1)); + p("LMULCONST: ", l * (-1)); + p("LSHLCONST: ", l << (-1)); + p("LSHRCONST: ", l >> (-1)); + p("LUSHRCONST: ", l >>> (-1)); + p("LANDCONST: ", l & (-1)); + p("LORCONST: ", l | (-1)); + p("LXORCONST: ", l ^ (-1)); + + if (!(l == (-1))) p("not IF_LEQ: ", (-1)); + if (!(l != (-1))) p("not IF_LNE: ", (-1)); + if (!(l < (-1))) p("not IF_LLT: ", (-1)); + if (!(l <= (-1))) p("not IF_LLE: ", (-1)); + if (!(l > (-1))) p("not IF_LGT: ", (-1)); + if (!(l >= (-1))) p("not IF_LGE: ", (-1)); + + p("IADDCONST: ", i + (1)); + p("ISUBCONST: ", i - (1)); + p("IMULCONST: ", i * (1)); + p("ISHLCONST: ", i << (1)); + p("ISHRCONST: ", i >> (1)); + p("IUSHRCONST: ", i >>> (1)); + p("IANDCONST: ", i & (1)); + p("IORCONST: ", i | (1)); + p("IXORCONST: ", i ^ (1)); + + if (!(i == (1))) p("not IFEQ: ", (1)); + if (!(i != (1))) p("not IFNE: ", (1)); + if (!(i < (1))) p("not IFLT: ", (1)); + if (!(i <= (1))) p("not IFLE: ", (1)); + if (!(i > (1))) p("not IFGT: ", (1)); + if (!(i >= (1))) p("not IFGE: ", (1)); + + p("LADDCONST: ", l + (1)); + p("LSUBCONST: ", l - (1)); + p("LMULCONST: ", l * (1)); + p("LSHLCONST: ", l << (1)); + p("LSHRCONST: ", l >> (1)); + p("LUSHRCONST: ", l >>> (1)); + p("LANDCONST: ", l & (1)); + p("LORCONST: ", l | (1)); + p("LXORCONST: ", l ^ (1)); + + if (!(l == (1))) p("not IF_LEQ: ", (1)); + if (!(l != (1))) p("not IF_LNE: ", (1)); + if (!(l < (1))) p("not IF_LLT: ", (1)); + if (!(l <= (1))) p("not IF_LLE: ", (1)); + if (!(l > (1))) p("not IF_LGT: ", (1)); + if (!(l >= (1))) p("not IF_LGE: ", (1)); + + p("IADDCONST: ", i + (255)); + p("ISUBCONST: ", i - (255)); + p("IMULCONST: ", i * (255)); + p("ISHLCONST: ", i << (255)); + p("ISHRCONST: ", i >> (255)); + p("IUSHRCONST: ", i >>> (255)); + p("IANDCONST: ", i & (255)); + p("IORCONST: ", i | (255)); + p("IXORCONST: ", i ^ (255)); + + if (!(i == (255))) p("not IFEQ: ", (255)); + if (!(i != (255))) p("not IFNE: ", (255)); + if (!(i < (255))) p("not IFLT: ", (255)); + if (!(i <= (255))) p("not IFLE: ", (255)); + if (!(i > (255))) p("not IFGT: ", (255)); + if (!(i >= (255))) p("not IFGE: ", (255)); + + p("LADDCONST: ", l + (255)); + p("LSUBCONST: ", l - (255)); + p("LMULCONST: ", l * (255)); + p("LSHLCONST: ", l << (255)); + p("LSHRCONST: ", l >> (255)); + p("LUSHRCONST: ", l >>> (255)); + p("LANDCONST: ", l & (255)); + p("LORCONST: ", l | (255)); + p("LXORCONST: ", l ^ (255)); + + if (!(l == (255))) p("not IF_LEQ: ", (255)); + if (!(l != (255))) p("not IF_LNE: ", (255)); + if (!(l < (255))) p("not IF_LLT: ", (255)); + if (!(l <= (255))) p("not IF_LLE: ", (255)); + if (!(l > (255))) p("not IF_LGT: ", (255)); + if (!(l >= (255))) p("not IF_LGE: ", (255)); + + p("IADDCONST: ", i + (256)); + p("ISUBCONST: ", i - (256)); + p("IMULCONST: ", i * (256)); + p("ISHLCONST: ", i << (256)); + p("ISHRCONST: ", i >> (256)); + p("IUSHRCONST: ", i >>> (256)); + p("IANDCONST: ", i & (256)); + p("IORCONST: ", i | (256)); + p("IXORCONST: ", i ^ (256)); + + if (!(i == (256))) p("not IFEQ: ", (256)); + if (!(i != (256))) p("not IFNE: ", (256)); + if (!(i < (256))) p("not IFLT: ", (256)); + if (!(i <= (256))) p("not IFLE: ", (256)); + if (!(i > (256))) p("not IFGT: ", (256)); + if (!(i >= (256))) p("not IFGE: ", (256)); + + p("LADDCONST: ", l + (256)); + p("LSUBCONST: ", l - (256)); + p("LMULCONST: ", l * (256)); + p("LSHLCONST: ", l << (256)); + p("LSHRCONST: ", l >> (256)); + p("LUSHRCONST: ", l >>> (256)); + p("LANDCONST: ", l & (256)); + p("LORCONST: ", l | (256)); + p("LXORCONST: ", l ^ (256)); + + if (!(l == (256))) p("not IF_LEQ: ", (256)); + if (!(l != (256))) p("not IF_LNE: ", (256)); + if (!(l < (256))) p("not IF_LLT: ", (256)); + if (!(l <= (256))) p("not IF_LLE: ", (256)); + if (!(l > (256))) p("not IF_LGT: ", (256)); + if (!(l >= (256))) p("not IF_LGE: ", (256)); + + p("IADDCONST: ", i + (32767)); + p("ISUBCONST: ", i - (32767)); + p("IMULCONST: ", i * (32767)); + p("ISHLCONST: ", i << (32767)); + p("ISHRCONST: ", i >> (32767)); + p("IUSHRCONST: ", i >>> (32767)); + p("IANDCONST: ", i & (32767)); + p("IORCONST: ", i | (32767)); + p("IXORCONST: ", i ^ (32767)); + + if (!(i == (32767))) p("not IFEQ: ", (32767)); + if (!(i != (32767))) p("not IFNE: ", (32767)); + if (!(i < (32767))) p("not IFLT: ", (32767)); + if (!(i <= (32767))) p("not IFLE: ", (32767)); + if (!(i > (32767))) p("not IFGT: ", (32767)); + if (!(i >= (32767))) p("not IFGE: ", (32767)); + + p("LADDCONST: ", l + (32767)); + p("LSUBCONST: ", l - (32767)); + p("LMULCONST: ", l * (32767)); + p("LSHLCONST: ", l << (32767)); + p("LSHRCONST: ", l >> (32767)); + p("LUSHRCONST: ", l >>> (32767)); + p("LANDCONST: ", l & (32767)); + p("LORCONST: ", l | (32767)); + p("LXORCONST: ", l ^ (32767)); + + if (!(l == (32767))) p("not IF_LEQ: ", (32767)); + if (!(l != (32767))) p("not IF_LNE: ", (32767)); + if (!(l < (32767))) p("not IF_LLT: ", (32767)); + if (!(l <= (32767))) p("not IF_LLE: ", (32767)); + if (!(l > (32767))) p("not IF_LGT: ", (32767)); + if (!(l >= (32767))) p("not IF_LGE: ", (32767)); + + p("IADDCONST: ", i + (32768)); + p("ISUBCONST: ", i - (32768)); + p("IMULCONST: ", i * (32768)); + p("ISHLCONST: ", i << (32768)); + p("ISHRCONST: ", i >> (32768)); + p("IUSHRCONST: ", i >>> (32768)); + p("IANDCONST: ", i & (32768)); + p("IORCONST: ", i | (32768)); + p("IXORCONST: ", i ^ (32768)); + + if (!(i == (32768))) p("not IFEQ: ", (32768)); + if (!(i != (32768))) p("not IFNE: ", (32768)); + if (!(i < (32768))) p("not IFLT: ", (32768)); + if (!(i <= (32768))) p("not IFLE: ", (32768)); + if (!(i > (32768))) p("not IFGT: ", (32768)); + if (!(i >= (32768))) p("not IFGE: ", (32768)); + + p("LADDCONST: ", l + (32768)); + p("LSUBCONST: ", l - (32768)); + p("LMULCONST: ", l * (32768)); + p("LSHLCONST: ", l << (32768)); + p("LSHRCONST: ", l >> (32768)); + p("LUSHRCONST: ", l >>> (32768)); + p("LANDCONST: ", l & (32768)); + p("LORCONST: ", l | (32768)); + p("LXORCONST: ", l ^ (32768)); + + if (!(l == (32768))) p("not IF_LEQ: ", (32768)); + if (!(l != (32768))) p("not IF_LNE: ", (32768)); + if (!(l < (32768))) p("not IF_LLT: ", (32768)); + if (!(l <= (32768))) p("not IF_LLE: ", (32768)); + if (!(l > (32768))) p("not IF_LGT: ", (32768)); + if (!(l >= (32768))) p("not IF_LGE: ", (32768)); + + p("IADDCONST: ", i + (-32768)); + p("ISUBCONST: ", i - (-32768)); + p("IMULCONST: ", i * (-32768)); + p("ISHLCONST: ", i << (-32768)); + p("ISHRCONST: ", i >> (-32768)); + p("IUSHRCONST: ", i >>> (-32768)); + p("IANDCONST: ", i & (-32768)); + p("IORCONST: ", i | (-32768)); + p("IXORCONST: ", i ^ (-32768)); + + if (!(i == (-32768))) p("not IFEQ: ", (-32768)); + if (!(i != (-32768))) p("not IFNE: ", (-32768)); + if (!(i < (-32768))) p("not IFLT: ", (-32768)); + if (!(i <= (-32768))) p("not IFLE: ", (-32768)); + if (!(i > (-32768))) p("not IFGT: ", (-32768)); + if (!(i >= (-32768))) p("not IFGE: ", (-32768)); + + p("LADDCONST: ", l + (-32768)); + p("LSUBCONST: ", l - (-32768)); + p("LMULCONST: ", l * (-32768)); + p("LSHLCONST: ", l << (-32768)); + p("LSHRCONST: ", l >> (-32768)); + p("LUSHRCONST: ", l >>> (-32768)); + p("LANDCONST: ", l & (-32768)); + p("LORCONST: ", l | (-32768)); + p("LXORCONST: ", l ^ (-32768)); + + if (!(l == (-32768))) p("not IF_LEQ: ", (-32768)); + if (!(l != (-32768))) p("not IF_LNE: ", (-32768)); + if (!(l < (-32768))) p("not IF_LLT: ", (-32768)); + if (!(l <= (-32768))) p("not IF_LLE: ", (-32768)); + if (!(l > (-32768))) p("not IF_LGT: ", (-32768)); + if (!(l >= (-32768))) p("not IF_LGE: ", (-32768)); + + p("IADDCONST: ", i + (-32769)); + p("ISUBCONST: ", i - (-32769)); + p("IMULCONST: ", i * (-32769)); + p("ISHLCONST: ", i << (-32769)); + p("ISHRCONST: ", i >> (-32769)); + p("IUSHRCONST: ", i >>> (-32769)); + p("IANDCONST: ", i & (-32769)); + p("IORCONST: ", i | (-32769)); + p("IXORCONST: ", i ^ (-32769)); + + if (!(i == (-32769))) p("not IFEQ: ", (-32769)); + if (!(i != (-32769))) p("not IFNE: ", (-32769)); + if (!(i < (-32769))) p("not IFLT: ", (-32769)); + if (!(i <= (-32769))) p("not IFLE: ", (-32769)); + if (!(i > (-32769))) p("not IFGT: ", (-32769)); + if (!(i >= (-32769))) p("not IFGE: ", (-32769)); + + p("LADDCONST: ", l + (-32769)); + p("LSUBCONST: ", l - (-32769)); + p("LMULCONST: ", l * (-32769)); + p("LSHLCONST: ", l << (-32769)); + p("LSHRCONST: ", l >> (-32769)); + p("LUSHRCONST: ", l >>> (-32769)); + p("LANDCONST: ", l & (-32769)); + p("LORCONST: ", l | (-32769)); + p("LXORCONST: ", l ^ (-32769)); + + if (!(l == (-32769))) p("not IF_LEQ: ", (-32769)); + if (!(l != (-32769))) p("not IF_LNE: ", (-32769)); + if (!(l < (-32769))) p("not IF_LLT: ", (-32769)); + if (!(l <= (-32769))) p("not IF_LLE: ", (-32769)); + if (!(l > (-32769))) p("not IF_LGT: ", (-32769)); + if (!(l >= (-32769))) p("not IF_LGE: ", (-32769)); + + p("IADDCONST: ", i + (2147483647)); + p("ISUBCONST: ", i - (2147483647)); + p("IMULCONST: ", i * (2147483647)); + p("ISHLCONST: ", i << (2147483647)); + p("ISHRCONST: ", i >> (2147483647)); + p("IUSHRCONST: ", i >>> (2147483647)); + p("IANDCONST: ", i & (2147483647)); + p("IORCONST: ", i | (2147483647)); + p("IXORCONST: ", i ^ (2147483647)); + + if (!(i == (2147483647))) p("not IFEQ: ", (2147483647)); + if (!(i != (2147483647))) p("not IFNE: ", (2147483647)); + if (!(i < (2147483647))) p("not IFLT: ", (2147483647)); + if (!(i <= (2147483647))) p("not IFLE: ", (2147483647)); + if (!(i > (2147483647))) p("not IFGT: ", (2147483647)); + if (!(i >= (2147483647))) p("not IFGE: ", (2147483647)); + + p("LADDCONST: ", l + (2147483647)); + p("LSUBCONST: ", l - (2147483647)); + p("LMULCONST: ", l * (2147483647)); + p("LSHLCONST: ", l << (2147483647)); + p("LSHRCONST: ", l >> (2147483647)); + p("LUSHRCONST: ", l >>> (2147483647)); + p("LANDCONST: ", l & (2147483647)); + p("LORCONST: ", l | (2147483647)); + p("LXORCONST: ", l ^ (2147483647)); + + if (!(l == (2147483647))) p("not IF_LEQ: ", (2147483647)); + if (!(l != (2147483647))) p("not IF_LNE: ", (2147483647)); + if (!(l < (2147483647))) p("not IF_LLT: ", (2147483647)); + if (!(l <= (2147483647))) p("not IF_LLE: ", (2147483647)); + if (!(l > (2147483647))) p("not IF_LGT: ", (2147483647)); + if (!(l >= (2147483647))) p("not IF_LGE: ", (2147483647)); + + p("LADDCONST: ", l + (2147483648L)); + p("LSUBCONST: ", l - (2147483648L)); + p("LMULCONST: ", l * (2147483648L)); + p("LSHLCONST: ", l << (2147483648L)); + p("LSHRCONST: ", l >> (2147483648L)); + p("LUSHRCONST: ", l >>> (2147483648L)); + p("LANDCONST: ", l & (2147483648L)); + p("LORCONST: ", l | (2147483648L)); + p("LXORCONST: ", l ^ (2147483648L)); + + if (!(l == (2147483648L))) p("not IF_LEQ: ", (2147483648L)); + if (!(l != (2147483648L))) p("not IF_LNE: ", (2147483648L)); + if (!(l < (2147483648L))) p("not IF_LLT: ", (2147483648L)); + if (!(l <= (2147483648L))) p("not IF_LLE: ", (2147483648L)); + if (!(l > (2147483648L))) p("not IF_LGT: ", (2147483648L)); + if (!(l >= (2147483648L))) p("not IF_LGE: ", (2147483648L)); + + p("IADDCONST: ", i + (-2147483648)); + p("ISUBCONST: ", i - (-2147483648)); + p("IMULCONST: ", i * (-2147483648)); + p("ISHLCONST: ", i << (-2147483648)); + p("ISHRCONST: ", i >> (-2147483648)); + p("IUSHRCONST: ", i >>> (-2147483648)); + p("IANDCONST: ", i & (-2147483648)); + p("IORCONST: ", i | (-2147483648)); + p("IXORCONST: ", i ^ (-2147483648)); + + if (!(i == (-2147483648))) p("not IFEQ: ", (-2147483648)); + if (!(i != (-2147483648))) p("not IFNE: ", (-2147483648)); + if (!(i < (-2147483648))) p("not IFLT: ", (-2147483648)); + if (!(i <= (-2147483648))) p("not IFLE: ", (-2147483648)); + if (!(i > (-2147483648))) p("not IFGT: ", (-2147483648)); + if (!(i >= (-2147483648))) p("not IFGE: ", (-2147483648)); + + p("LADDCONST: ", l + (-2147483648)); + p("LSUBCONST: ", l - (-2147483648)); + p("LMULCONST: ", l * (-2147483648)); + p("LSHLCONST: ", l << (-2147483648)); + p("LSHRCONST: ", l >> (-2147483648)); + p("LUSHRCONST: ", l >>> (-2147483648)); + p("LANDCONST: ", l & (-2147483648)); + p("LORCONST: ", l | (-2147483648)); + p("LXORCONST: ", l ^ (-2147483648)); + + if (!(l == (-2147483648))) p("not IF_LEQ: ", (-2147483648)); + if (!(l != (-2147483648))) p("not IF_LNE: ", (-2147483648)); + if (!(l < (-2147483648))) p("not IF_LLT: ", (-2147483648)); + if (!(l <= (-2147483648))) p("not IF_LLE: ", (-2147483648)); + if (!(l > (-2147483648))) p("not IF_LGT: ", (-2147483648)); + if (!(l >= (-2147483648))) p("not IF_LGE: ", (-2147483648)); + + p("LADDCONST: ", l + (-2147483649L)); + p("LSUBCONST: ", l - (-2147483649L)); + p("LMULCONST: ", l * (-2147483649L)); + p("LSHLCONST: ", l << (-2147483649L)); + p("LSHRCONST: ", l >> (-2147483649L)); + p("LUSHRCONST: ", l >>> (-2147483649L)); + p("LANDCONST: ", l & (-2147483649L)); + p("LORCONST: ", l | (-2147483649L)); + p("LXORCONST: ", l ^ (-2147483649L)); + + if (!(l == (-2147483649L))) p("not IF_LEQ: ", (-2147483649L)); + if (!(l != (-2147483649L))) p("not IF_LNE: ", (-2147483649L)); + if (!(l < (-2147483649L))) p("not IF_LLT: ", (-2147483649L)); + if (!(l <= (-2147483649L))) p("not IF_LLE: ", (-2147483649L)); + if (!(l > (-2147483649L))) p("not IF_LGT: ", (-2147483649L)); + if (!(l >= (-2147483649L))) p("not IF_LGE: ", (-2147483649L)); + } + + static public void testdivremconst(int a) { + p("IDIVPOW2 (" + a + " / 0x00000002): ", a / 0x00000002); + p("IDIVPOW2 (" + a + " / 0x00000004): ", a / 0x00000004); + p("IDIVPOW2 (" + a + " / 0x00000008): ", a / 0x00000008); + p("IDIVPOW2 (" + a + " / 0x00000010): ", a / 0x00000010); + p("IDIVPOW2 (" + a + " / 0x00000020): ", a / 0x00000020); + p("IDIVPOW2 (" + a + " / 0x00000040): ", a / 0x00000040); + p("IDIVPOW2 (" + a + " / 0x00000080): ", a / 0x00000080); + p("IDIVPOW2 (" + a + " / 0x00000100): ", a / 0x00000100); + p("IDIVPOW2 (" + a + " / 0x00000200): ", a / 0x00000200); + p("IDIVPOW2 (" + a + " / 0x00000400): ", a / 0x00000400); + p("IDIVPOW2 (" + a + " / 0x00000800): ", a / 0x00000800); + p("IDIVPOW2 (" + a + " / 0x00001000): ", a / 0x00001000); + p("IDIVPOW2 (" + a + " / 0x00002000): ", a / 0x00002000); + p("IDIVPOW2 (" + a + " / 0x00004000): ", a / 0x00004000); + p("IDIVPOW2 (" + a + " / 0x00008000): ", a / 0x00008000); + p("IDIVPOW2 (" + a + " / 0x00010000): ", a / 0x00010000); + p("IDIVPOW2 (" + a + " / 0x00020000): ", a / 0x00020000); + p("IDIVPOW2 (" + a + " / 0x00040000): ", a / 0x00040000); + p("IDIVPOW2 (" + a + " / 0x00080000): ", a / 0x00080000); + p("IDIVPOW2 (" + a + " / 0x00100000): ", a / 0x00100000); + p("IDIVPOW2 (" + a + " / 0x00200000): ", a / 0x00200000); + p("IDIVPOW2 (" + a + " / 0x00400000): ", a / 0x00400000); + p("IDIVPOW2 (" + a + " / 0x00800000): ", a / 0x00800000); + p("IDIVPOW2 (" + a + " / 0x01000000): ", a / 0x01000000); + p("IDIVPOW2 (" + a + " / 0x02000000): ", a / 0x02000000); + p("IDIVPOW2 (" + a + " / 0x04000000): ", a / 0x04000000); + p("IDIVPOW2 (" + a + " / 0x08000000): ", a / 0x08000000); + p("IDIVPOW2 (" + a + " / 0x10000000): ", a / 0x10000000); + p("IDIVPOW2 (" + a + " / 0x20000000): ", a / 0x20000000); + p("IDIVPOW2 (" + a + " / 0x40000000): ", a / 0x40000000); + p("IDIVPOW2 (" + a + " / 0x80000000): ", a / 0x80000000); + + p("IREMPOW2 (" + a + " % 0x00000002): ", a % 0x00000002); + p("IREMPOW2 (" + a + " % 0x00000004): ", a % 0x00000004); + p("IREMPOW2 (" + a + " % 0x00000008): ", a % 0x00000008); + p("IREMPOW2 (" + a + " % 0x00000010): ", a % 0x00000010); + p("IREMPOW2 (" + a + " % 0x00000020): ", a % 0x00000020); + p("IREMPOW2 (" + a + " % 0x00000040): ", a % 0x00000040); + p("IREMPOW2 (" + a + " % 0x00000080): ", a % 0x00000080); + p("IREMPOW2 (" + a + " % 0x00000100): ", a % 0x00000100); + p("IREMPOW2 (" + a + " % 0x00000200): ", a % 0x00000200); + p("IREMPOW2 (" + a + " % 0x00000400): ", a % 0x00000400); + p("IREMPOW2 (" + a + " % 0x00000800): ", a % 0x00000800); + p("IREMPOW2 (" + a + " % 0x00001000): ", a % 0x00001000); + p("IREMPOW2 (" + a + " % 0x00002000): ", a % 0x00002000); + p("IREMPOW2 (" + a + " % 0x00004000): ", a % 0x00004000); + p("IREMPOW2 (" + a + " % 0x00008000): ", a % 0x00008000); + p("IREMPOW2 (" + a + " % 0x00010000): ", a % 0x00010000); + p("IREMPOW2 (" + a + " % 0x00020000): ", a % 0x00020000); + p("IREMPOW2 (" + a + " % 0x00040000): ", a % 0x00040000); + p("IREMPOW2 (" + a + " % 0x00080000): ", a % 0x00080000); + p("IREMPOW2 (" + a + " % 0x00100000): ", a % 0x00100000); + p("IREMPOW2 (" + a + " % 0x00200000): ", a % 0x00200000); + p("IREMPOW2 (" + a + " % 0x00400000): ", a % 0x00400000); + p("IREMPOW2 (" + a + " % 0x00800000): ", a % 0x00800000); + p("IREMPOW2 (" + a + " % 0x01000000): ", a % 0x01000000); + p("IREMPOW2 (" + a + " % 0x02000000): ", a % 0x02000000); + p("IREMPOW2 (" + a + " % 0x04000000): ", a % 0x04000000); + p("IREMPOW2 (" + a + " % 0x08000000): ", a % 0x08000000); + p("IREMPOW2 (" + a + " % 0x10000000): ", a % 0x10000000); + p("IREMPOW2 (" + a + " % 0x20000000): ", a % 0x20000000); + p("IREMPOW2 (" + a + " % 0x40000000): ", a % 0x40000000); + p("IREMPOW2 (" + a + " % 0x80000000): ", a % 0x80000000); + } + + static public void testdivremconst(long a) { + p("LDIVPOW2 (" + a + " / 0x00000002): ", a / 0x00000002); + p("LDIVPOW2 (" + a + " / 0x00000004): ", a / 0x00000004); + p("LDIVPOW2 (" + a + " / 0x00000008): ", a / 0x00000008); + p("LDIVPOW2 (" + a + " / 0x00000010): ", a / 0x00000010); + p("LDIVPOW2 (" + a + " / 0x00000020): ", a / 0x00000020); + p("LDIVPOW2 (" + a + " / 0x00000040): ", a / 0x00000040); + p("LDIVPOW2 (" + a + " / 0x00000080): ", a / 0x00000080); + p("LDIVPOW2 (" + a + " / 0x00000100): ", a / 0x00000100); + p("LDIVPOW2 (" + a + " / 0x00000200): ", a / 0x00000200); + p("LDIVPOW2 (" + a + " / 0x00000400): ", a / 0x00000400); + p("LDIVPOW2 (" + a + " / 0x00000800): ", a / 0x00000800); + p("LDIVPOW2 (" + a + " / 0x00001000): ", a / 0x00001000); + p("LDIVPOW2 (" + a + " / 0x00002000): ", a / 0x00002000); + p("LDIVPOW2 (" + a + " / 0x00004000): ", a / 0x00004000); + p("LDIVPOW2 (" + a + " / 0x00008000): ", a / 0x00008000); + p("LDIVPOW2 (" + a + " / 0x00010000): ", a / 0x00010000); + p("LDIVPOW2 (" + a + " / 0x00020000): ", a / 0x00020000); + p("LDIVPOW2 (" + a + " / 0x00040000): ", a / 0x00040000); + p("LDIVPOW2 (" + a + " / 0x00080000): ", a / 0x00080000); + p("LDIVPOW2 (" + a + " / 0x00100000): ", a / 0x00100000); + p("LDIVPOW2 (" + a + " / 0x00200000): ", a / 0x00200000); + p("LDIVPOW2 (" + a + " / 0x00400000): ", a / 0x00400000); + p("LDIVPOW2 (" + a + " / 0x00800000): ", a / 0x00800000); + p("LDIVPOW2 (" + a + " / 0x01000000): ", a / 0x01000000); + p("LDIVPOW2 (" + a + " / 0x02000000): ", a / 0x02000000); + p("LDIVPOW2 (" + a + " / 0x04000000): ", a / 0x04000000); + p("LDIVPOW2 (" + a + " / 0x08000000): ", a / 0x08000000); + p("LDIVPOW2 (" + a + " / 0x10000000): ", a / 0x10000000); + p("LDIVPOW2 (" + a + " / 0x20000000): ", a / 0x20000000); + p("LDIVPOW2 (" + a + " / 0x40000000): ", a / 0x40000000); + p("LDIVPOW2 (" + a + " / 0x80000000): ", a / 0x80000000); + + p("LREMPOW2 (" + a + " % 0x00000002): ", a % 0x00000002L); + p("LREMPOW2 (" + a + " % 0x00000004): ", a % 0x00000004L); + p("LREMPOW2 (" + a + " % 0x00000008): ", a % 0x00000008L); + p("LREMPOW2 (" + a + " % 0x00000010): ", a % 0x00000010L); + p("LREMPOW2 (" + a + " % 0x00000020): ", a % 0x00000020L); + p("LREMPOW2 (" + a + " % 0x00000040): ", a % 0x00000040L); + p("LREMPOW2 (" + a + " % 0x00000080): ", a % 0x00000080L); + p("LREMPOW2 (" + a + " % 0x00000100): ", a % 0x00000100L); + p("LREMPOW2 (" + a + " % 0x00000200): ", a % 0x00000200L); + p("LREMPOW2 (" + a + " % 0x00000400): ", a % 0x00000400L); + p("LREMPOW2 (" + a + " % 0x00000800): ", a % 0x00000800L); + p("LREMPOW2 (" + a + " % 0x00001000): ", a % 0x00001000L); + p("LREMPOW2 (" + a + " % 0x00002000): ", a % 0x00002000L); + p("LREMPOW2 (" + a + " % 0x00004000): ", a % 0x00004000L); + p("LREMPOW2 (" + a + " % 0x00008000): ", a % 0x00008000L); + p("LREMPOW2 (" + a + " % 0x00010000): ", a % 0x00010000L); + p("LREMPOW2 (" + a + " % 0x00020000): ", a % 0x00020000L); + p("LREMPOW2 (" + a + " % 0x00040000): ", a % 0x00040000L); + p("LREMPOW2 (" + a + " % 0x00080000): ", a % 0x00080000L); + p("LREMPOW2 (" + a + " % 0x00100000): ", a % 0x00100000L); + p("LREMPOW2 (" + a + " % 0x00200000): ", a % 0x00200000L); + p("LREMPOW2 (" + a + " % 0x00400000): ", a % 0x00400000L); + p("LREMPOW2 (" + a + " % 0x00800000): ", a % 0x00800000L); + p("LREMPOW2 (" + a + " % 0x01000000): ", a % 0x01000000L); + p("LREMPOW2 (" + a + " % 0x02000000): ", a % 0x02000000L); + p("LREMPOW2 (" + a + " % 0x04000000): ", a % 0x04000000L); + p("LREMPOW2 (" + a + " % 0x08000000): ", a % 0x08000000L); + p("LREMPOW2 (" + a + " % 0x10000000): ", a % 0x10000000L); + p("LREMPOW2 (" + a + " % 0x20000000): ", a % 0x20000000L); + p("LREMPOW2 (" + a + " % 0x40000000): ", a % 0x40000000L); + p("LREMPOW2 (" + a + " % 0x80000000): ", a % 0x80000000L); + } + + + static public void testint(int a, int b) { + p ("TESTINT CALLED WITH ", a); + p (" AND ", b); + + p("IADD: ", a+b); + p("ISUB: ", a-b); + p("IMUL: ", a*b); + try { p("IDIV: ", a/b); } + catch (ArithmeticException e) { p("divison by zero"); } + try { p("IREM: ", a%b); } + catch (ArithmeticException e) { p("divison by zero"); } + p("INEG: ", -a); + p("ISHL: ", a<>b); + p("IUSHR: ", a>>>b); + p("IAND: ", a & b); + p("IOR: ", a | b); + p("IXOR: ", a ^ b); + + p("I2L: ", (long) a); + p("I2F: ", (float) a); + p("I2D: ", (double) a); + p("INT2BYTE: ", (byte) a); + p("INT2CHAR: ", (char) a); + p("INT2SHORT: ", (short) a); + + if (!(a==0)) p("not IFEQ"); + if (!(a!=0)) p("not IFNE"); + if (!(a<0)) p("not IFLT"); + if (!(a<=0)) p("not IFLE"); + if (!(a>0)) p("not IFGT"); + if (!(a>=0)) p("not IFGE"); + + if (!(a==b)) p("not IF_ICMPEQ"); + if (!(a!=b)) p("not IF_ICMPNE"); + if (!(ab)) p("not IF_ICMPGT"); + if (!(a>=b)) p("not IF_ICMPGE"); + + p("COND_ICMPEQ " + a + " == 0: " + ((a == 0) ? 0 : 1)); + p("COND_ICMPNE " + a + " != 0: " + ((a != 0) ? 0 : 1)); + p("COND_ICMPLT " + a + " < 0: " + ((a < 0) ? 0 : 1)); + p("COND_ICMPLE " + a + " <= 0: " + ((a <= 0) ? 0 : 1)); + p("COND_ICMPGT " + a + " > 0: " + ((a > 0) ? 0 : 1)); + p("COND_ICMPGE " + a + " >= 0: " + ((a >= 0) ? 0 : 1)); + + p("COND_ICMPEQ " + a + " == 0: " + ((a == 0) ? 1 : 0)); + p("COND_ICMPNE " + a + " != 0: " + ((a != 0) ? 1 : 0)); + p("COND_ICMPLT " + a + " < 0: " + ((a < 0) ? 1 : 0)); + p("COND_ICMPLE " + a + " <= 0: " + ((a <= 0) ? 1 : 0)); + p("COND_ICMPGT " + a + " > 0: " + ((a > 0) ? 1 : 0)); + p("COND_ICMPGE " + a + " >= 0: " + ((a >= 0) ? 1 : 0)); + + p("COND_ICMPEQ " + a + " == 0: " + ((a == 0) ? 2 : 3)); + p("COND_ICMPNE " + a + " != 0: " + ((a != 0) ? 2 : 3)); + p("COND_ICMPLT " + a + " < 0: " + ((a < 0) ? 2 : 3)); + p("COND_ICMPLE " + a + " <= 0: " + ((a <= 0) ? 2 : 3)); + p("COND_ICMPGT " + a + " > 0: " + ((a > 0) ? 2 : 3)); + p("COND_ICMPGE " + a + " >= 0: " + ((a >= 0) ? 2 : 3)); + + p("COND_ICMPEQ " + a + " == " + b + ": " + (a == b)); + p("COND_ICMPNE " + a + " != " + b + ": " + (a != b)); + p("COND_ICMPLT " + a + " < " + b + ": " + (a < b)); + p("COND_ICMPLE " + a + " <= " + b + ": " + (a <= b)); + p("COND_ICMPGT " + a + " > " + b + ": " + (a > b)); + p("COND_ICMPGE " + a + " >= " + b + ": " + (a >= b)); + + } + + static public void testlong(long a, long b) { + p ("TESTLONG called with ", a); + p (" AND ", b); + + p("LADD: ", a + b); + p("LSUB: ", a - b); + p("LMUL: ", a * b); + try { p("LDIV: ", a / b); } + catch (ArithmeticException e) { p("divison by zero"); } + try { p("LREM: ", a % b); } + catch (ArithmeticException e) { p("divison by zero"); } + p("LNEG: ", -a); + p("LSHL: ", a << b); + p("LSHR: ", a >> b); + p("LUSHR: ", a >>>b); + p("LAND: ", a & b); + p("LOR: ", a | b); + p("LXOR: ", a ^ b); + + p("L2I: ", (int) a); + p("L2F: ", (float) a); + p("L2D: ", (double) a); + + p("LCMP a == b : ", a == b); + p("LCMP a != b : ", a != b); + p("LCMP a < b : ", a < b); + p("LCMP a <= b : ", a <= b); + p("LCMP a > b : ", a > b); + p("LCMP a >= b : ", a >= b); + + if ((a==b)) p("not IF_LCMPEQ"); + if ((a!=b)) p("not IF_LCMPNE"); + if ((ab)) p("not IF_LCMPGT"); + if ((a>=b)) p("not IF_LCMPGE"); + } + + static public void testfloat(float a, float b) { + p ("TESTFLOAT called with ", a); + p (" AND ", b); + + p("FADD: ", a+b); + p("FSUB: ", a-b); + p("FMUL: ", a*b); + p("FDIV: ", a/b); + p("FREM: ", a%b); + + p("F2I: ", (int) a); + p("F2L: ", (long) a); + p("F2D: ", (double) a); + + if ((a==b)) p("FCMP a=b"); + if ((a!=b)) p("FCMP a!=b"); + if ((ab)) p("FCMP a>b"); + if ((a>=b)) p("FCMP a>=b"); + } + + static public void testdouble(double a, double b) { + p ("TESTDOUBLE called with ", a); + p (" AND ", b); + + p("DADD: ", a+b); + p("DSUB: ", a-b); + p("DMUL: ", a*b); + p("DDIV: ", a/b); + p("DREM: ", a%b); + + p("D2I: ", (int) a); + p("D2L: ", (long) a); + p("D2F: ", (float) a); + + if ((a==b)) p("DCMP a=b"); + if ((a!=b)) p("DCMP a!=b"); + if ((ab)) p("DCMP a>b"); + if ((a>=b)) p("DCMP a>=b"); + } + + + // ********************* output methods **************************** + + public static void pnl() { + System.out.println (); + System.out.print (linenum); + System.out.print (". "); + linenum++; + } + + public static void p(String a) { System.out.print(a); pnl(); } + public static void p(boolean a) {System.out.print(a); + pnl(); } + public static void p(int a) { System.out.print ("int: "); + System.out.print(a); + pnl(); } + public static void p(long a) { System.out.print ("long: "); + System.out.print(a); + pnl(); } + public static void p(short a) { System.out.print ("short: "); + System.out.print(a); + pnl(); } + public static void p(byte a) { System.out.print ("byte: "); + System.out.print(a); + pnl(); } + public static void p(char a) { System.out.print ("char: "); + System.out.print((int) a); + pnl(); } + public static void p(float a) { System.out.print ("float: "); + System.out.print ( java.lang.Float.floatToIntBits(a) ); + pnl(); } + public static void p(double a) { System.out.print ("double: "); + System.out.print( java.lang.Double.doubleToLongBits(a) ); + pnl(); } + + public static void p(String s,boolean i) { + System.out.print(s); p(i); + } + public static void p(String s,int i) { + System.out.print(s); p(i); + } + public static void p(String s,byte i) { + System.out.print(s); p(i); + } + public static void p(String s,char i) { + System.out.print(s); p(i); + } + public static void p(String s,short i) { + System.out.print(s); p(i); + } + public static void p(String s,long l) { + System.out.print(s); p(l); + } + public static void p(String s,float f) { + System.out.print(s); p(f); + } + public static void p(String s,double d) { + System.out.print(s); p(d); + } + + // methods for testing interface and method calls + + public void jctest() { + p(" called"); + } + + public void p_manyparam(int p_i1,int p_i2, + int p_i3, int p_i4, + long p_l1,long p_l2, + long p_l3,long p_l4, + float p_f1, float p_f2, + float p_f3, float p_f4, + double p_d1, double p_d2, + double p_d3, double p_d4) { + n_i1 = p_i1; + n_i2 = p_i2; + n_i3 = p_i3; + n_i4 = p_i4; + n_l1 = p_l1; + n_l2 = p_l2; + n_l3 = p_l3; + n_l4 = p_l4; + n_f1 = p_f1; + n_f2 = p_f2; + n_f3 = p_f3; + n_f4 = p_f4; + n_d1 = p_d1; + n_d2 = p_d2; + n_d3 = p_d3; + n_d4 = p_d4; + } + + public void p_nonstatic (String a) { + p(a); + p(n_i1); + p(n_i2); + p(n_i3); + p(n_i4); + p(n_l1); + p(n_l2); + p(n_l3); + p(n_l4); + p(n_f1); + p(n_f2); + p(n_f3); + p(n_f4); + p(n_d1); + p(n_d2); + p(n_d3); + p(n_d4); + + } +} + +interface jcinterface { + public void p_nonstatic (String a); +} diff --git a/tests/regression/jctest.output b/tests/regression/jctest.output new file mode 100644 index 000000000..8f0cfb806 --- /dev/null +++ b/tests/regression/jctest.output @@ -0,0 +1,4573 @@ + called +0. =================== JavaVM - Tester ======================== +0. ------------------- test arguments +1. ------------------- test int-PUSH-STORE-LOAD +2. int: -1 +3. int: 0 +4. int: 2 +5. int: 17 +6. int: -100 +7. int: 500 +8. int: -32768 +9. int: -32769 +10. int: 32767 +11. int: 32768 +12. int: 90000 +13. int: -1000000000 +14. ------------------- test long-PUSH-STORE-LOAD +15. long: 3 +16. long: 0 +17. long: 99 +18. long: 500 +19. long: -32768 +20. long: -32769 +21. long: 32767 +22. long: 32768 +23. long: 6900000000000 +24. long: 349827389478173274 +25. ------------------- test float-PUSH-STORE-LOAD +26. float: 1120330580 +27. float: 0 +28. float: 1065353216 +29. float: 1386178594 +30. ------------------- test double-PUSH-STORE-LOAD +31. double: 4681555750627175301 +32. double: 0 +33. double: 4607182418800017408 +34. double: 4779424231982992955 +35. ------------------- test static variables +36. int: -23 +37. int: 0 +38. int: -100 +39. long: 123456789 +40. long: -99998888888889 +41. long: -99999999999999 +42. float: 1017370379 +43. float: 1045220557 +44. float: 1050253722 +45. double: 4562254508917369340 +46. double: 4566758108544739836 +47. double: 4569063951553953530 +48. ------------------- test arithmetic +49. int: 2147483647 +50. int: -2147483648 +51. int: -2147483630 +52. long: 9223372036854775807 +53. long: -9223372036854775808 +54. long: -2 +55. statische methode +56. interface method +57. int: 19 +58. int: 18 +59. int: 17 +60. int: 16 +61. long: 88 +62. long: 77 +63. long: 66 +64. long: 55 +65. float: 1036831949 +66. float: 1045220557 +67. float: 1050253722 +68. float: 1053609165 +69. double: -4611686018427387904 +70. double: -4609434218613702656 +71. double: -4607182418800017408 +72. double: -4606056518893174784 +73. ------------------- test tableswitch +74. default +75. default +76. default +77. default +78. default +79. default +80. default +81. -> 2 +82. -> 3 +83. default +84. -> 5 +85. -> 6 +86. -> 7 +87. -> 8 +88. default +89. -> 10 +90. default +91. default +92. default +93. default +94. ------------------- test lookupswitch +95. default +96. -> -4 +97. default +98. default +99. default +100. default +101. default +102. -> 2 +103. default +104. default +105. default +106. default +107. default +108. -> 8 +109. default +110. default +111. default +112. default +113. default +114. -> 14 +115. ------------------- test casts +116. Integer is instanceof Object: true +117. Integer is instanceof Integer: true +118. Object is instanceof Integer: false +119. type cast check: Integer = Object(Integer) +120. type cast check: Integer = Object +121. exception: class cast +122. DataOutputStream is instanceof DataOutput: true +123. Object is instanceof DataOutput: false +124. type cast check: DataOutput = Object(DataOutputStream) +125. type cast check: DataOutput = Object +126. exception: class cast +127. type cast check: Integer[] = Object(Integer)[] +128. type cast check: Integer[] = Object[] +129. exception: class cast +130. array store check: Object(Integer)[0] = Integer +131. array store check: Object(Integer)[0] = Object +132. exception: array store +133. ------------------- test special null pointers +134. null pointer check: put field +135. exception: null pointer +136. null pointer check: get field +137. exception: null pointer +138. null pointer check: invokevirtual +139. exception: null pointer +140. null pointer check: invokeinterface +141. exception: null pointer +142. null pointer check: monitorenter +143. exception: null pointer +144. ------------------- test byte arrays +145. null pointer check: byte array store +146. exception: null pointer +147. null pointer check: byte array load +148. exception: null pointer +149. negative array size check: byte array +150. exception: negative array size +151. array bound check: byte array store +152. exception_1: out of bounds: -1 +153. array bound check: byte array load +154. exception_2: out of bounds: -1 +155. testarraybounds: -5 +156. exception_3: out of bounds: 5 +157. testarraybounds: 40 +158. testarraybounds: 45 +159. testarraybounds: 50 +160. testarraybounds: 55 +161. testarraybounds: 60 +162. testarraybounds: 90 +163. testarraybounds: 95 +164. testarraybounds: 100 +165. exception_5: out of bounds: 100 +166. exception_6: out of bounds: -4 +167. exception_7: out of bounds: -3 +168. exception_8: out of bounds: -2 +169. exception_8: out of bounds: -1 +170. exception_8: out of bounds: 100 +171. exception_8: out of bounds: 101 +172. exception_9: out of bounds: 102 +173. exception_10: out of bounds: 103 +174. byte: -50 +175. byte: -49 +176. byte: -48 +177. byte: -47 +178. byte: -46 +179. byte: -45 +180. byte: -44 +181. byte: -43 +182. byte: -42 +183. byte: -41 +184. byte: -40 +185. byte: -39 +186. byte: -38 +187. byte: -37 +188. byte: -36 +189. byte: -35 +190. byte: -34 +191. byte: -33 +192. byte: -32 +193. byte: -31 +194. byte: -30 +195. byte: -29 +196. byte: -28 +197. byte: -27 +198. byte: -26 +199. byte: -25 +200. byte: -24 +201. byte: -23 +202. byte: -22 +203. byte: -21 +204. byte: -20 +205. byte: -19 +206. byte: -18 +207. byte: -17 +208. byte: -16 +209. byte: -15 +210. byte: -14 +211. byte: -13 +212. byte: -12 +213. byte: -11 +214. byte: -10 +215. byte: -9 +216. byte: -8 +217. byte: -7 +218. byte: -6 +219. byte: -5 +220. byte: -4 +221. byte: -3 +222. byte: -2 +223. byte: -1 +224. byte: 0 +225. byte: 1 +226. byte: 2 +227. byte: 3 +228. byte: 4 +229. byte: 5 +230. byte: 6 +231. byte: 7 +232. byte: 8 +233. byte: 9 +234. byte: 10 +235. byte: 11 +236. byte: 12 +237. byte: 13 +238. byte: 14 +239. byte: 15 +240. byte: 16 +241. byte: 17 +242. byte: 18 +243. byte: 19 +244. byte: 20 +245. byte: 21 +246. byte: 22 +247. byte: 23 +248. byte: 24 +249. byte: 25 +250. byte: 26 +251. byte: 27 +252. byte: 28 +253. byte: 29 +254. byte: 30 +255. byte: 31 +256. byte: 32 +257. byte: 33 +258. byte: 34 +259. byte: 35 +260. byte: 36 +261. byte: 37 +262. byte: 38 +263. byte: 39 +264. byte: 40 +265. byte: 41 +266. byte: 42 +267. byte: 43 +268. byte: 44 +269. byte: 45 +270. byte: 46 +271. byte: 47 +272. byte: 48 +273. byte: 49 +274. -------- test short arrays +275. null pointer check: short array store +276. exception: null pointer +277. null pointer check: short array load +278. exception: null pointer +279. array bound check: short array store +280. exception_11: out of bounds: -1 +281. array bound check: short array load +282. exception_12: out of bounds: -1 +283. short: -50 +284. short: -49 +285. short: -48 +286. short: -47 +287. short: -46 +288. short: -45 +289. short: -44 +290. short: -43 +291. short: -42 +292. short: -41 +293. short: -40 +294. short: -39 +295. short: -38 +296. short: -37 +297. short: -36 +298. short: -35 +299. short: -34 +300. short: -33 +301. short: -32 +302. short: -31 +303. short: -30 +304. short: -29 +305. short: -28 +306. short: -27 +307. short: -26 +308. short: -25 +309. short: -24 +310. short: -23 +311. short: -22 +312. short: -21 +313. short: -20 +314. short: -19 +315. short: -18 +316. short: -17 +317. short: -16 +318. short: -15 +319. short: -14 +320. short: -13 +321. short: -12 +322. short: -11 +323. short: -10 +324. short: -9 +325. short: -8 +326. short: -7 +327. short: -6 +328. short: -5 +329. short: -4 +330. short: -3 +331. short: -2 +332. short: -1 +333. short: 0 +334. short: 1 +335. short: 2 +336. short: 3 +337. short: 4 +338. short: 5 +339. short: 6 +340. short: 7 +341. short: 8 +342. short: 9 +343. short: 10 +344. short: 11 +345. short: 12 +346. short: 13 +347. short: 14 +348. short: 15 +349. short: 16 +350. short: 17 +351. short: 18 +352. short: 19 +353. short: 20 +354. short: 21 +355. short: 22 +356. short: 23 +357. short: 24 +358. short: 25 +359. short: 26 +360. short: 27 +361. short: 28 +362. short: 29 +363. short: 30 +364. short: 31 +365. short: 32 +366. short: 33 +367. short: 34 +368. short: 35 +369. short: 36 +370. short: 37 +371. short: 38 +372. short: 39 +373. short: 40 +374. short: 41 +375. short: 42 +376. short: 43 +377. short: 44 +378. short: 45 +379. short: 46 +380. short: 47 +381. short: 48 +382. short: 49 +383. -------- test int arrays +384. null pointer check: int array store +385. exception: null pointer +386. null pointer check: int array load +387. exception: null pointer +388. array bound check: int array store +389. exception: out of bounds: -1 +390. array bound check: int array load +391. exception: out of bounds: -1 +392. int: 123456 +393. int: 123457 +394. int: 123458 +395. int: 123459 +396. int: 123460 +397. int: 123461 +398. int: 123462 +399. int: 123463 +400. int: 123464 +401. int: 123465 +402. -------- test long arrays +403. null pointer check: long array store +404. exception: null pointer +405. null pointer check: long array load +406. exception: null pointer +407. array bound check: long array store +408. exception: out of bounds: -1 +409. array bound check: long array load +410. exception: out of bounds: -1 +411. long: 1234567890123 +412. long: 1234567890124 +413. long: 1234567890125 +414. long: 1234567890126 +415. long: 1234567890127 +416. long: 1234567890128 +417. long: 1234567890129 +418. long: 1234567890130 +419. long: 1234567890131 +420. long: 1234567890132 +421. -------- test char arrays +422. null pointer check: char array store +423. exception: null pointer +424. null pointer check: char array load +425. exception: null pointer +426. array bound check: char array store +427. exception: out of bounds: -1 +428. array bound check: char array load +429. exception: out of bounds: -1 +430. char: 65 +431. char: 66 +432. char: 67 +433. char: 68 +434. char: 69 +435. char: 70 +436. char: 71 +437. char: 72 +438. char: 73 +439. char: 74 +440. char: 75 +441. char: 76 +442. char: 77 +443. char: 78 +444. char: 79 +445. char: 80 +446. char: 81 +447. char: 82 +448. char: 83 +449. char: 84 +450. char: 85 +451. char: 86 +452. char: 87 +453. char: 88 +454. char: 89 +455. char: 90 +456. char: 91 +457. char: 92 +458. char: 93 +459. char: 94 +460. char: 95 +461. char: 96 +462. char: 97 +463. char: 98 +464. char: 99 +465. char: 100 +466. char: 101 +467. char: 102 +468. char: 103 +469. char: 104 +470. char: 105 +471. char: 106 +472. char: 107 +473. char: 108 +474. char: 109 +475. char: 110 +476. char: 111 +477. char: 112 +478. char: 113 +479. char: 114 +480. -------- test address arrays +481. null pointer check: address array store +482. exception: null pointer +483. null pointer check: address array load +484. exception: null pointer +485. negative array size check: address array +486. exception: negative array size +487. array bound check: address array store +488. exception: out of bounds: -1 +489. array bound check: address array load +490. exception: out of bounds: -1 +491. 0. Zeile +492. 1. Zeile +493. 2. Zeile +494. 3. Zeile +495. 4. Zeile +496. -------- test multi dimensional arrays +497. negative array size check: multi dimensional array +498. exception: negative array size +499. savedvar size copy check: multi dimensional array +500. successfully created +501. int: 0 +502. long: 7 +503. float: 1053609165 +504. double: -4591560543518827164 +505. int: 1 +506. long: 8 +507. float: 1068708659 +508. double: -4591701281007182492 +509. int: 2 +510. long: 9 +511. float: 1075419546 +512. double: -4591842018495537820 +513. int: 3 +514. long: 10 +515. float: 1079613850 +516. double: -4591982755983893148 +517. int: 1 +518. long: 8 +519. float: 1068708659 +520. double: -4591701281007182492 +521. int: 2 +522. long: 9 +523. float: 1075419546 +524. double: -4591842018495537820 +525. int: 3 +526. long: 10 +527. float: 1079613850 +528. double: -4591982755983893148 +529. int: 4 +530. long: 11 +531. float: 1082969293 +532. double: -4592123493472248476 +533. int: 4 +534. long: 11 +535. float: 1082969293 +536. double: -4592123493472248476 +537. int: 5 +538. long: 12 +539. float: 1085066445 +540. double: -4592264230960603804 +541. int: 6 +542. long: 13 +543. float: 1087163597 +544. double: -4592404968448959132 +545. int: 7 +546. long: 14 +547. float: 1089260749 +548. double: -4592545705937314460 +549. int: 1 +550. long: 8 +551. float: 1068708659 +552. double: -4591701281007182492 +553. int: 2 +554. long: 9 +555. float: 1075419546 +556. double: -4591842018495537820 +557. int: 3 +558. long: 10 +559. float: 1079613850 +560. double: -4591982755983893148 +561. int: 4 +562. long: 11 +563. float: 1082969293 +564. double: -4592123493472248476 +565. int: 2 +566. long: 9 +567. float: 1075419546 +568. double: -4591842018495537820 +569. int: 3 +570. long: 10 +571. float: 1079613850 +572. double: -4591982755983893148 +573. int: 4 +574. long: 11 +575. float: 1082969293 +576. double: -4592123493472248476 +577. int: 5 +578. long: 12 +579. float: 1085066445 +580. double: -4592264230960603804 +581. int: 5 +582. long: 12 +583. float: 1085066445 +584. double: -4592264230960603804 +585. int: 6 +586. long: 13 +587. float: 1087163597 +588. double: -4592404968448959132 +589. int: 7 +590. long: 14 +591. float: 1089260749 +592. double: -4592545705937314460 +593. int: 8 +594. long: 15 +595. float: 1090938470 +596. double: -4592686443425669788 +597. ------------------- test consts +598. TESTCONST CALLED WITH int: 1 +599. AND long: 1 +600. not IFEQ: int: 0 +601. not IFLT: int: 0 +602. not IFLE: int: 0 +603. not IF_LEQ: int: 0 +604. not IF_LLT: int: 0 +605. not IF_LLE: int: 0 +606. IADDCONST: int: 0 +607. ISUBCONST: int: 2 +608. IMULCONST: int: -1 +609. ISHLCONST: int: -2147483648 +610. ISHRCONST: int: 0 +611. IUSHRCONST: int: 0 +612. IANDCONST: int: 1 +613. IORCONST: int: -1 +614. IXORCONST: int: -2 +615. not IFEQ: int: -1 +616. not IFLT: int: -1 +617. not IFLE: int: -1 +618. LADDCONST: long: 0 +619. LSUBCONST: long: 2 +620. LMULCONST: long: -1 +621. LSHLCONST: long: -9223372036854775808 +622. LSHRCONST: long: 0 +623. LUSHRCONST: long: 0 +624. LANDCONST: long: 1 +625. LORCONST: long: -1 +626. LXORCONST: long: -2 +627. not IF_LEQ: int: -1 +628. not IF_LLT: int: -1 +629. not IF_LLE: int: -1 +630. IADDCONST: int: 2 +631. ISUBCONST: int: 0 +632. IMULCONST: int: 1 +633. ISHLCONST: int: 2 +634. ISHRCONST: int: 0 +635. IUSHRCONST: int: 0 +636. IANDCONST: int: 1 +637. IORCONST: int: 1 +638. IXORCONST: int: 0 +639. not IFNE: int: 1 +640. not IFLT: int: 1 +641. not IFGT: int: 1 +642. LADDCONST: long: 2 +643. LSUBCONST: long: 0 +644. LMULCONST: long: 1 +645. LSHLCONST: long: 2 +646. LSHRCONST: long: 0 +647. LUSHRCONST: long: 0 +648. LANDCONST: long: 1 +649. LORCONST: long: 1 +650. LXORCONST: long: 0 +651. not IF_LNE: int: 1 +652. not IF_LLT: int: 1 +653. not IF_LGT: int: 1 +654. IADDCONST: int: 256 +655. ISUBCONST: int: -254 +656. IMULCONST: int: 255 +657. ISHLCONST: int: -2147483648 +658. ISHRCONST: int: 0 +659. IUSHRCONST: int: 0 +660. IANDCONST: int: 1 +661. IORCONST: int: 255 +662. IXORCONST: int: 254 +663. not IFEQ: int: 255 +664. not IFGT: int: 255 +665. not IFGE: int: 255 +666. LADDCONST: long: 256 +667. LSUBCONST: long: -254 +668. LMULCONST: long: 255 +669. LSHLCONST: long: -9223372036854775808 +670. LSHRCONST: long: 0 +671. LUSHRCONST: long: 0 +672. LANDCONST: long: 1 +673. LORCONST: long: 255 +674. LXORCONST: long: 254 +675. not IF_LEQ: int: 255 +676. not IF_LGT: int: 255 +677. not IF_LGE: int: 255 +678. IADDCONST: int: 257 +679. ISUBCONST: int: -255 +680. IMULCONST: int: 256 +681. ISHLCONST: int: 1 +682. ISHRCONST: int: 1 +683. IUSHRCONST: int: 1 +684. IANDCONST: int: 0 +685. IORCONST: int: 257 +686. IXORCONST: int: 257 +687. not IFEQ: int: 256 +688. not IFGT: int: 256 +689. not IFGE: int: 256 +690. LADDCONST: long: 257 +691. LSUBCONST: long: -255 +692. LMULCONST: long: 256 +693. LSHLCONST: long: 1 +694. LSHRCONST: long: 1 +695. LUSHRCONST: long: 1 +696. LANDCONST: long: 0 +697. LORCONST: long: 257 +698. LXORCONST: long: 257 +699. not IF_LEQ: int: 256 +700. not IF_LGT: int: 256 +701. not IF_LGE: int: 256 +702. IADDCONST: int: 32768 +703. ISUBCONST: int: -32766 +704. IMULCONST: int: 32767 +705. ISHLCONST: int: -2147483648 +706. ISHRCONST: int: 0 +707. IUSHRCONST: int: 0 +708. IANDCONST: int: 1 +709. IORCONST: int: 32767 +710. IXORCONST: int: 32766 +711. not IFEQ: int: 32767 +712. not IFGT: int: 32767 +713. not IFGE: int: 32767 +714. LADDCONST: long: 32768 +715. LSUBCONST: long: -32766 +716. LMULCONST: long: 32767 +717. LSHLCONST: long: -9223372036854775808 +718. LSHRCONST: long: 0 +719. LUSHRCONST: long: 0 +720. LANDCONST: long: 1 +721. LORCONST: long: 32767 +722. LXORCONST: long: 32766 +723. not IF_LEQ: int: 32767 +724. not IF_LGT: int: 32767 +725. not IF_LGE: int: 32767 +726. IADDCONST: int: 32769 +727. ISUBCONST: int: -32767 +728. IMULCONST: int: 32768 +729. ISHLCONST: int: 1 +730. ISHRCONST: int: 1 +731. IUSHRCONST: int: 1 +732. IANDCONST: int: 0 +733. IORCONST: int: 32769 +734. IXORCONST: int: 32769 +735. not IFEQ: int: 32768 +736. not IFGT: int: 32768 +737. not IFGE: int: 32768 +738. LADDCONST: long: 32769 +739. LSUBCONST: long: -32767 +740. LMULCONST: long: 32768 +741. LSHLCONST: long: 1 +742. LSHRCONST: long: 1 +743. LUSHRCONST: long: 1 +744. LANDCONST: long: 0 +745. LORCONST: long: 32769 +746. LXORCONST: long: 32769 +747. not IF_LEQ: int: 32768 +748. not IF_LGT: int: 32768 +749. not IF_LGE: int: 32768 +750. IADDCONST: int: -32767 +751. ISUBCONST: int: 32769 +752. IMULCONST: int: -32768 +753. ISHLCONST: int: 1 +754. ISHRCONST: int: 1 +755. IUSHRCONST: int: 1 +756. IANDCONST: int: 0 +757. IORCONST: int: -32767 +758. IXORCONST: int: -32767 +759. not IFEQ: int: -32768 +760. not IFLT: int: -32768 +761. not IFLE: int: -32768 +762. LADDCONST: long: -32767 +763. LSUBCONST: long: 32769 +764. LMULCONST: long: -32768 +765. LSHLCONST: long: 1 +766. LSHRCONST: long: 1 +767. LUSHRCONST: long: 1 +768. LANDCONST: long: 0 +769. LORCONST: long: -32767 +770. LXORCONST: long: -32767 +771. not IF_LEQ: int: -32768 +772. not IF_LLT: int: -32768 +773. not IF_LLE: int: -32768 +774. IADDCONST: int: -32768 +775. ISUBCONST: int: 32770 +776. IMULCONST: int: -32769 +777. ISHLCONST: int: -2147483648 +778. ISHRCONST: int: 0 +779. IUSHRCONST: int: 0 +780. IANDCONST: int: 1 +781. IORCONST: int: -32769 +782. IXORCONST: int: -32770 +783. not IFEQ: int: -32769 +784. not IFLT: int: -32769 +785. not IFLE: int: -32769 +786. LADDCONST: long: -32768 +787. LSUBCONST: long: 32770 +788. LMULCONST: long: -32769 +789. LSHLCONST: long: -9223372036854775808 +790. LSHRCONST: long: 0 +791. LUSHRCONST: long: 0 +792. LANDCONST: long: 1 +793. LORCONST: long: -32769 +794. LXORCONST: long: -32770 +795. not IF_LEQ: int: -32769 +796. not IF_LLT: int: -32769 +797. not IF_LLE: int: -32769 +798. IADDCONST: int: -2147483648 +799. ISUBCONST: int: -2147483646 +800. IMULCONST: int: 2147483647 +801. ISHLCONST: int: -2147483648 +802. ISHRCONST: int: 0 +803. IUSHRCONST: int: 0 +804. IANDCONST: int: 1 +805. IORCONST: int: 2147483647 +806. IXORCONST: int: 2147483646 +807. not IFEQ: int: 2147483647 +808. not IFGT: int: 2147483647 +809. not IFGE: int: 2147483647 +810. LADDCONST: long: 2147483648 +811. LSUBCONST: long: -2147483646 +812. LMULCONST: long: 2147483647 +813. LSHLCONST: long: -9223372036854775808 +814. LSHRCONST: long: 0 +815. LUSHRCONST: long: 0 +816. LANDCONST: long: 1 +817. LORCONST: long: 2147483647 +818. LXORCONST: long: 2147483646 +819. not IF_LEQ: int: 2147483647 +820. not IF_LGT: int: 2147483647 +821. not IF_LGE: int: 2147483647 +822. LADDCONST: long: 2147483649 +823. LSUBCONST: long: -2147483647 +824. LMULCONST: long: 2147483648 +825. LSHLCONST: long: 1 +826. LSHRCONST: long: 1 +827. LUSHRCONST: long: 1 +828. LANDCONST: long: 0 +829. LORCONST: long: 2147483649 +830. LXORCONST: long: 2147483649 +831. not IF_LEQ: long: 2147483648 +832. not IF_LGT: long: 2147483648 +833. not IF_LGE: long: 2147483648 +834. IADDCONST: int: -2147483647 +835. ISUBCONST: int: -2147483647 +836. IMULCONST: int: -2147483648 +837. ISHLCONST: int: 1 +838. ISHRCONST: int: 1 +839. IUSHRCONST: int: 1 +840. IANDCONST: int: 0 +841. IORCONST: int: -2147483647 +842. IXORCONST: int: -2147483647 +843. not IFEQ: int: -2147483648 +844. not IFLT: int: -2147483648 +845. not IFLE: int: -2147483648 +846. LADDCONST: long: -2147483647 +847. LSUBCONST: long: 2147483649 +848. LMULCONST: long: -2147483648 +849. LSHLCONST: long: 1 +850. LSHRCONST: long: 1 +851. LUSHRCONST: long: 1 +852. LANDCONST: long: 0 +853. LORCONST: long: -2147483647 +854. LXORCONST: long: -2147483647 +855. not IF_LEQ: int: -2147483648 +856. not IF_LLT: int: -2147483648 +857. not IF_LLE: int: -2147483648 +858. LADDCONST: long: -2147483648 +859. LSUBCONST: long: 2147483650 +860. LMULCONST: long: -2147483649 +861. LSHLCONST: long: -9223372036854775808 +862. LSHRCONST: long: 0 +863. LUSHRCONST: long: 0 +864. LANDCONST: long: 1 +865. LORCONST: long: -2147483649 +866. LXORCONST: long: -2147483650 +867. not IF_LEQ: long: -2147483649 +868. not IF_LLT: long: -2147483649 +869. not IF_LLE: long: -2147483649 +870. TESTCONST CALLED WITH int: -1 +871. AND long: -1 +872. not IFEQ: int: 0 +873. not IFGT: int: 0 +874. not IFGE: int: 0 +875. not IF_LEQ: int: 0 +876. not IF_LGT: int: 0 +877. not IF_LGE: int: 0 +878. IADDCONST: int: -2 +879. ISUBCONST: int: 0 +880. IMULCONST: int: 1 +881. ISHLCONST: int: -2147483648 +882. ISHRCONST: int: -1 +883. IUSHRCONST: int: 1 +884. IANDCONST: int: -1 +885. IORCONST: int: -1 +886. IXORCONST: int: 0 +887. not IFNE: int: -1 +888. not IFLT: int: -1 +889. not IFGT: int: -1 +890. LADDCONST: long: -2 +891. LSUBCONST: long: 0 +892. LMULCONST: long: 1 +893. LSHLCONST: long: -9223372036854775808 +894. LSHRCONST: long: -1 +895. LUSHRCONST: long: 1 +896. LANDCONST: long: -1 +897. LORCONST: long: -1 +898. LXORCONST: long: 0 +899. not IF_LNE: int: -1 +900. not IF_LLT: int: -1 +901. not IF_LGT: int: -1 +902. IADDCONST: int: 0 +903. ISUBCONST: int: -2 +904. IMULCONST: int: -1 +905. ISHLCONST: int: -2 +906. ISHRCONST: int: -1 +907. IUSHRCONST: int: 2147483647 +908. IANDCONST: int: 1 +909. IORCONST: int: -1 +910. IXORCONST: int: -2 +911. not IFEQ: int: 1 +912. not IFGT: int: 1 +913. not IFGE: int: 1 +914. LADDCONST: long: 0 +915. LSUBCONST: long: -2 +916. LMULCONST: long: -1 +917. LSHLCONST: long: -2 +918. LSHRCONST: long: -1 +919. LUSHRCONST: long: 9223372036854775807 +920. LANDCONST: long: 1 +921. LORCONST: long: -1 +922. LXORCONST: long: -2 +923. not IF_LEQ: int: 1 +924. not IF_LGT: int: 1 +925. not IF_LGE: int: 1 +926. IADDCONST: int: 254 +927. ISUBCONST: int: -256 +928. IMULCONST: int: -255 +929. ISHLCONST: int: -2147483648 +930. ISHRCONST: int: -1 +931. IUSHRCONST: int: 1 +932. IANDCONST: int: 255 +933. IORCONST: int: -1 +934. IXORCONST: int: -256 +935. not IFEQ: int: 255 +936. not IFGT: int: 255 +937. not IFGE: int: 255 +938. LADDCONST: long: 254 +939. LSUBCONST: long: -256 +940. LMULCONST: long: -255 +941. LSHLCONST: long: -9223372036854775808 +942. LSHRCONST: long: -1 +943. LUSHRCONST: long: 1 +944. LANDCONST: long: 255 +945. LORCONST: long: -1 +946. LXORCONST: long: -256 +947. not IF_LEQ: int: 255 +948. not IF_LGT: int: 255 +949. not IF_LGE: int: 255 +950. IADDCONST: int: 255 +951. ISUBCONST: int: -257 +952. IMULCONST: int: -256 +953. ISHLCONST: int: -1 +954. ISHRCONST: int: -1 +955. IUSHRCONST: int: -1 +956. IANDCONST: int: 256 +957. IORCONST: int: -1 +958. IXORCONST: int: -257 +959. not IFEQ: int: 256 +960. not IFGT: int: 256 +961. not IFGE: int: 256 +962. LADDCONST: long: 255 +963. LSUBCONST: long: -257 +964. LMULCONST: long: -256 +965. LSHLCONST: long: -1 +966. LSHRCONST: long: -1 +967. LUSHRCONST: long: -1 +968. LANDCONST: long: 256 +969. LORCONST: long: -1 +970. LXORCONST: long: -257 +971. not IF_LEQ: int: 256 +972. not IF_LGT: int: 256 +973. not IF_LGE: int: 256 +974. IADDCONST: int: 32766 +975. ISUBCONST: int: -32768 +976. IMULCONST: int: -32767 +977. ISHLCONST: int: -2147483648 +978. ISHRCONST: int: -1 +979. IUSHRCONST: int: 1 +980. IANDCONST: int: 32767 +981. IORCONST: int: -1 +982. IXORCONST: int: -32768 +983. not IFEQ: int: 32767 +984. not IFGT: int: 32767 +985. not IFGE: int: 32767 +986. LADDCONST: long: 32766 +987. LSUBCONST: long: -32768 +988. LMULCONST: long: -32767 +989. LSHLCONST: long: -9223372036854775808 +990. LSHRCONST: long: -1 +991. LUSHRCONST: long: 1 +992. LANDCONST: long: 32767 +993. LORCONST: long: -1 +994. LXORCONST: long: -32768 +995. not IF_LEQ: int: 32767 +996. not IF_LGT: int: 32767 +997. not IF_LGE: int: 32767 +998. IADDCONST: int: 32767 +999. ISUBCONST: int: -32769 +1000. IMULCONST: int: -32768 +1001. ISHLCONST: int: -1 +1002. ISHRCONST: int: -1 +1003. IUSHRCONST: int: -1 +1004. IANDCONST: int: 32768 +1005. IORCONST: int: -1 +1006. IXORCONST: int: -32769 +1007. not IFEQ: int: 32768 +1008. not IFGT: int: 32768 +1009. not IFGE: int: 32768 +1010. LADDCONST: long: 32767 +1011. LSUBCONST: long: -32769 +1012. LMULCONST: long: -32768 +1013. LSHLCONST: long: -1 +1014. LSHRCONST: long: -1 +1015. LUSHRCONST: long: -1 +1016. LANDCONST: long: 32768 +1017. LORCONST: long: -1 +1018. LXORCONST: long: -32769 +1019. not IF_LEQ: int: 32768 +1020. not IF_LGT: int: 32768 +1021. not IF_LGE: int: 32768 +1022. IADDCONST: int: -32769 +1023. ISUBCONST: int: 32767 +1024. IMULCONST: int: 32768 +1025. ISHLCONST: int: -1 +1026. ISHRCONST: int: -1 +1027. IUSHRCONST: int: -1 +1028. IANDCONST: int: -32768 +1029. IORCONST: int: -1 +1030. IXORCONST: int: 32767 +1031. not IFEQ: int: -32768 +1032. not IFLT: int: -32768 +1033. not IFLE: int: -32768 +1034. LADDCONST: long: -32769 +1035. LSUBCONST: long: 32767 +1036. LMULCONST: long: 32768 +1037. LSHLCONST: long: -1 +1038. LSHRCONST: long: -1 +1039. LUSHRCONST: long: -1 +1040. LANDCONST: long: -32768 +1041. LORCONST: long: -1 +1042. LXORCONST: long: 32767 +1043. not IF_LEQ: int: -32768 +1044. not IF_LLT: int: -32768 +1045. not IF_LLE: int: -32768 +1046. IADDCONST: int: -32770 +1047. ISUBCONST: int: 32768 +1048. IMULCONST: int: 32769 +1049. ISHLCONST: int: -2147483648 +1050. ISHRCONST: int: -1 +1051. IUSHRCONST: int: 1 +1052. IANDCONST: int: -32769 +1053. IORCONST: int: -1 +1054. IXORCONST: int: 32768 +1055. not IFEQ: int: -32769 +1056. not IFLT: int: -32769 +1057. not IFLE: int: -32769 +1058. LADDCONST: long: -32770 +1059. LSUBCONST: long: 32768 +1060. LMULCONST: long: 32769 +1061. LSHLCONST: long: -9223372036854775808 +1062. LSHRCONST: long: -1 +1063. LUSHRCONST: long: 1 +1064. LANDCONST: long: -32769 +1065. LORCONST: long: -1 +1066. LXORCONST: long: 32768 +1067. not IF_LEQ: int: -32769 +1068. not IF_LLT: int: -32769 +1069. not IF_LLE: int: -32769 +1070. IADDCONST: int: 2147483646 +1071. ISUBCONST: int: -2147483648 +1072. IMULCONST: int: -2147483647 +1073. ISHLCONST: int: -2147483648 +1074. ISHRCONST: int: -1 +1075. IUSHRCONST: int: 1 +1076. IANDCONST: int: 2147483647 +1077. IORCONST: int: -1 +1078. IXORCONST: int: -2147483648 +1079. not IFEQ: int: 2147483647 +1080. not IFGT: int: 2147483647 +1081. not IFGE: int: 2147483647 +1082. LADDCONST: long: 2147483646 +1083. LSUBCONST: long: -2147483648 +1084. LMULCONST: long: -2147483647 +1085. LSHLCONST: long: -9223372036854775808 +1086. LSHRCONST: long: -1 +1087. LUSHRCONST: long: 1 +1088. LANDCONST: long: 2147483647 +1089. LORCONST: long: -1 +1090. LXORCONST: long: -2147483648 +1091. not IF_LEQ: int: 2147483647 +1092. not IF_LGT: int: 2147483647 +1093. not IF_LGE: int: 2147483647 +1094. LADDCONST: long: 2147483647 +1095. LSUBCONST: long: -2147483649 +1096. LMULCONST: long: -2147483648 +1097. LSHLCONST: long: -1 +1098. LSHRCONST: long: -1 +1099. LUSHRCONST: long: -1 +1100. LANDCONST: long: 2147483648 +1101. LORCONST: long: -1 +1102. LXORCONST: long: -2147483649 +1103. not IF_LEQ: long: 2147483648 +1104. not IF_LGT: long: 2147483648 +1105. not IF_LGE: long: 2147483648 +1106. IADDCONST: int: 2147483647 +1107. ISUBCONST: int: 2147483647 +1108. IMULCONST: int: -2147483648 +1109. ISHLCONST: int: -1 +1110. ISHRCONST: int: -1 +1111. IUSHRCONST: int: -1 +1112. IANDCONST: int: -2147483648 +1113. IORCONST: int: -1 +1114. IXORCONST: int: 2147483647 +1115. not IFEQ: int: -2147483648 +1116. not IFLT: int: -2147483648 +1117. not IFLE: int: -2147483648 +1118. LADDCONST: long: -2147483649 +1119. LSUBCONST: long: 2147483647 +1120. LMULCONST: long: 2147483648 +1121. LSHLCONST: long: -1 +1122. LSHRCONST: long: -1 +1123. LUSHRCONST: long: -1 +1124. LANDCONST: long: -2147483648 +1125. LORCONST: long: -1 +1126. LXORCONST: long: 2147483647 +1127. not IF_LEQ: int: -2147483648 +1128. not IF_LLT: int: -2147483648 +1129. not IF_LLE: int: -2147483648 +1130. LADDCONST: long: -2147483650 +1131. LSUBCONST: long: 2147483648 +1132. LMULCONST: long: 2147483649 +1133. LSHLCONST: long: -9223372036854775808 +1134. LSHRCONST: long: -1 +1135. LUSHRCONST: long: 1 +1136. LANDCONST: long: -2147483649 +1137. LORCONST: long: -1 +1138. LXORCONST: long: 2147483648 +1139. not IF_LEQ: long: -2147483649 +1140. not IF_LLT: long: -2147483649 +1141. not IF_LLE: long: -2147483649 +1142. TESTCONST CALLED WITH int: -24123 +1143. AND long: -4918923241323 +1144. not IFEQ: int: 0 +1145. not IFGT: int: 0 +1146. not IFGE: int: 0 +1147. not IF_LEQ: int: 0 +1148. not IF_LGT: int: 0 +1149. not IF_LGE: int: 0 +1150. IADDCONST: int: -24124 +1151. ISUBCONST: int: -24122 +1152. IMULCONST: int: 24123 +1153. ISHLCONST: int: -2147483648 +1154. ISHRCONST: int: -1 +1155. IUSHRCONST: int: 1 +1156. IANDCONST: int: -24123 +1157. IORCONST: int: -1 +1158. IXORCONST: int: 24122 +1159. not IFEQ: int: -1 +1160. not IFGT: int: -1 +1161. not IFGE: int: -1 +1162. LADDCONST: long: -4918923241324 +1163. LSUBCONST: long: -4918923241322 +1164. LMULCONST: long: 4918923241323 +1165. LSHLCONST: long: -9223372036854775808 +1166. LSHRCONST: long: -1 +1167. LUSHRCONST: long: 1 +1168. LANDCONST: long: -4918923241323 +1169. LORCONST: long: -1 +1170. LXORCONST: long: 4918923241322 +1171. not IF_LEQ: int: -1 +1172. not IF_LGT: int: -1 +1173. not IF_LGE: int: -1 +1174. IADDCONST: int: -24122 +1175. ISUBCONST: int: -24124 +1176. IMULCONST: int: -24123 +1177. ISHLCONST: int: -48246 +1178. ISHRCONST: int: -12062 +1179. IUSHRCONST: int: 2147471586 +1180. IANDCONST: int: 1 +1181. IORCONST: int: -24123 +1182. IXORCONST: int: -24124 +1183. not IFEQ: int: 1 +1184. not IFGT: int: 1 +1185. not IFGE: int: 1 +1186. LADDCONST: long: -4918923241322 +1187. LSUBCONST: long: -4918923241324 +1188. LMULCONST: long: -4918923241323 +1189. LSHLCONST: long: -9837846482646 +1190. LSHRCONST: long: -2459461620662 +1191. LUSHRCONST: long: 9223369577393155146 +1192. LANDCONST: long: 1 +1193. LORCONST: long: -4918923241323 +1194. LXORCONST: long: -4918923241324 +1195. not IF_LEQ: int: 1 +1196. not IF_LGT: int: 1 +1197. not IF_LGE: int: 1 +1198. IADDCONST: int: -23868 +1199. ISUBCONST: int: -24378 +1200. IMULCONST: int: -6151365 +1201. ISHLCONST: int: -2147483648 +1202. ISHRCONST: int: -1 +1203. IUSHRCONST: int: 1 +1204. IANDCONST: int: 197 +1205. IORCONST: int: -24065 +1206. IXORCONST: int: -24262 +1207. not IFEQ: int: 255 +1208. not IFGT: int: 255 +1209. not IFGE: int: 255 +1210. LADDCONST: long: -4918923241068 +1211. LSUBCONST: long: -4918923241578 +1212. LMULCONST: long: -1254325426537365 +1213. LSHLCONST: long: -9223372036854775808 +1214. LSHRCONST: long: -1 +1215. LUSHRCONST: long: 1 +1216. LANDCONST: long: 149 +1217. LORCONST: long: -4918923241217 +1218. LXORCONST: long: -4918923241366 +1219. not IF_LEQ: int: 255 +1220. not IF_LGT: int: 255 +1221. not IF_LGE: int: 255 +1222. IADDCONST: int: -23867 +1223. ISUBCONST: int: -24379 +1224. IMULCONST: int: -6175488 +1225. ISHLCONST: int: -24123 +1226. ISHRCONST: int: -24123 +1227. IUSHRCONST: int: -24123 +1228. IANDCONST: int: 256 +1229. IORCONST: int: -24123 +1230. IXORCONST: int: -24379 +1231. not IFEQ: int: 256 +1232. not IFGT: int: 256 +1233. not IFGE: int: 256 +1234. LADDCONST: long: -4918923241067 +1235. LSUBCONST: long: -4918923241579 +1236. LMULCONST: long: -1259244349778688 +1237. LSHLCONST: long: -4918923241323 +1238. LSHRCONST: long: -4918923241323 +1239. LUSHRCONST: long: -4918923241323 +1240. LANDCONST: long: 0 +1241. LORCONST: long: -4918923241067 +1242. LXORCONST: long: -4918923241067 +1243. not IF_LEQ: int: 256 +1244. not IF_LGT: int: 256 +1245. not IF_LGE: int: 256 +1246. IADDCONST: int: 8644 +1247. ISUBCONST: int: -56890 +1248. IMULCONST: int: -790438341 +1249. ISHLCONST: int: -2147483648 +1250. ISHRCONST: int: -1 +1251. IUSHRCONST: int: 1 +1252. IANDCONST: int: 8645 +1253. IORCONST: int: -1 +1254. IXORCONST: int: -8646 +1255. not IFEQ: int: 32767 +1256. not IFGT: int: 32767 +1257. not IFGE: int: 32767 +1258. LADDCONST: long: -4918923208556 +1259. LSUBCONST: long: -4918923274090 +1260. LMULCONST: long: -161178357848430741 +1261. LSHLCONST: long: -9223372036854775808 +1262. LSHRCONST: long: -1 +1263. LUSHRCONST: long: 1 +1264. LANDCONST: long: 22677 +1265. LORCONST: long: -4918923231233 +1266. LXORCONST: long: -4918923253910 +1267. not IF_LEQ: int: 32767 +1268. not IF_LGT: int: 32767 +1269. not IF_LGE: int: 32767 +1270. IADDCONST: int: 8645 +1271. ISUBCONST: int: -56891 +1272. IMULCONST: int: -790462464 +1273. ISHLCONST: int: -24123 +1274. ISHRCONST: int: -24123 +1275. IUSHRCONST: int: -24123 +1276. IANDCONST: int: 32768 +1277. IORCONST: int: -24123 +1278. IXORCONST: int: -56891 +1279. not IFEQ: int: 32768 +1280. not IFGT: int: 32768 +1281. not IFGE: int: 32768 +1282. LADDCONST: long: -4918923208555 +1283. LSUBCONST: long: -4918923274091 +1284. LMULCONST: long: -161183276771672064 +1285. LSHLCONST: long: -4918923241323 +1286. LSHRCONST: long: -4918923241323 +1287. LUSHRCONST: long: -4918923241323 +1288. LANDCONST: long: 32768 +1289. LORCONST: long: -4918923241323 +1290. LXORCONST: long: -4918923274091 +1291. not IF_LEQ: int: 32768 +1292. not IF_LGT: int: 32768 +1293. not IF_LGE: int: 32768 +1294. IADDCONST: int: -56891 +1295. ISUBCONST: int: 8645 +1296. IMULCONST: int: 790462464 +1297. ISHLCONST: int: -24123 +1298. ISHRCONST: int: -24123 +1299. IUSHRCONST: int: -24123 +1300. IANDCONST: int: -32768 +1301. IORCONST: int: -24123 +1302. IXORCONST: int: 8645 +1303. not IFEQ: int: -32768 +1304. not IFLT: int: -32768 +1305. not IFLE: int: -32768 +1306. LADDCONST: long: -4918923274091 +1307. LSUBCONST: long: -4918923208555 +1308. LMULCONST: long: 161183276771672064 +1309. LSHLCONST: long: -4918923241323 +1310. LSHRCONST: long: -4918923241323 +1311. LUSHRCONST: long: -4918923241323 +1312. LANDCONST: long: -4918923264000 +1313. LORCONST: long: -10091 +1314. LXORCONST: long: 4918923253909 +1315. not IF_LEQ: int: -32768 +1316. not IF_LGT: int: -32768 +1317. not IF_LGE: int: -32768 +1318. IADDCONST: int: -56892 +1319. ISUBCONST: int: 8646 +1320. IMULCONST: int: 790486587 +1321. ISHLCONST: int: -2147483648 +1322. ISHRCONST: int: -1 +1323. IUSHRCONST: int: 1 +1324. IANDCONST: int: -56891 +1325. IORCONST: int: -1 +1326. IXORCONST: int: 56890 +1327. not IFEQ: int: -32769 +1328. not IFLT: int: -32769 +1329. not IFLE: int: -32769 +1330. LADDCONST: long: -4918923274092 +1331. LSUBCONST: long: -4918923208554 +1332. LMULCONST: long: 161188195694913387 +1333. LSHLCONST: long: -9223372036854775808 +1334. LSHRCONST: long: -1 +1335. LUSHRCONST: long: 1 +1336. LANDCONST: long: -4918923274091 +1337. LORCONST: long: -1 +1338. LXORCONST: long: 4918923274090 +1339. not IF_LEQ: int: -32769 +1340. not IF_LGT: int: -32769 +1341. not IF_LGE: int: -32769 +1342. IADDCONST: int: 2147459524 +1343. ISUBCONST: int: 2147459526 +1344. IMULCONST: int: -2147459525 +1345. ISHLCONST: int: -2147483648 +1346. ISHRCONST: int: -1 +1347. IUSHRCONST: int: 1 +1348. IANDCONST: int: 2147459525 +1349. IORCONST: int: -1 +1350. IXORCONST: int: -2147459526 +1351. not IFEQ: int: 2147483647 +1352. not IFGT: int: 2147483647 +1353. not IFGE: int: 2147483647 +1354. LADDCONST: long: -4916775757676 +1355. LSUBCONST: long: -4921070724970 +1356. LMULCONST: long: 6677132646195930987 +1357. LSHLCONST: long: -9223372036854775808 +1358. LSHRCONST: long: -1 +1359. LUSHRCONST: long: 1 +1360. LANDCONST: long: 961796245 +1361. LORCONST: long: -4917737553921 +1362. LXORCONST: long: -4918699350166 +1363. not IF_LEQ: int: 2147483647 +1364. not IF_LGT: int: 2147483647 +1365. not IF_LGE: int: 2147483647 +1366. LADDCONST: long: -4916775757675 +1367. LSUBCONST: long: -4921070724971 +1368. LMULCONST: long: 6677127727272689664 +1369. LSHLCONST: long: -4918923241323 +1370. LSHRCONST: long: -4918923241323 +1371. LUSHRCONST: long: -4918923241323 +1372. LANDCONST: long: 2147483648 +1373. LORCONST: long: -4918923241323 +1374. LXORCONST: long: -4921070724971 +1375. not IF_LEQ: long: 2147483648 +1376. not IF_LGT: long: 2147483648 +1377. not IF_LGE: long: 2147483648 +1378. IADDCONST: int: 2147459525 +1379. ISUBCONST: int: 2147459525 +1380. IMULCONST: int: -2147483648 +1381. ISHLCONST: int: -24123 +1382. ISHRCONST: int: -24123 +1383. IUSHRCONST: int: -24123 +1384. IANDCONST: int: -2147483648 +1385. IORCONST: int: -24123 +1386. IXORCONST: int: 2147459525 +1387. not IFEQ: int: -2147483648 +1388. not IFLT: int: -2147483648 +1389. not IFLE: int: -2147483648 +1390. LADDCONST: long: -4921070724971 +1391. LSUBCONST: long: -4916775757675 +1392. LMULCONST: long: -6677127727272689664 +1393. LSHLCONST: long: -4918923241323 +1394. LSHRCONST: long: -4918923241323 +1395. LUSHRCONST: long: -4918923241323 +1396. LANDCONST: long: -4919885037568 +1397. LORCONST: long: -1185687403 +1398. LXORCONST: long: 4918699350165 +1399. not IF_LEQ: int: -2147483648 +1400. not IF_LGT: int: -2147483648 +1401. not IF_LGE: int: -2147483648 +1402. LADDCONST: long: -4921070724972 +1403. LSUBCONST: long: -4916775757674 +1404. LMULCONST: long: -6677122808349448341 +1405. LSHLCONST: long: -9223372036854775808 +1406. LSHRCONST: long: -1 +1407. LUSHRCONST: long: 1 +1408. LANDCONST: long: -4921070724971 +1409. LORCONST: long: -1 +1410. LXORCONST: long: 4921070724970 +1411. not IF_LEQ: long: -2147483649 +1412. not IF_LGT: long: -2147483649 +1413. not IF_LGE: long: -2147483649 +1414. TESTCONST CALLED WITH int: -243511 +1415. AND long: -4423423234231423 +1416. not IFEQ: int: 0 +1417. not IFGT: int: 0 +1418. not IFGE: int: 0 +1419. not IF_LEQ: int: 0 +1420. not IF_LGT: int: 0 +1421. not IF_LGE: int: 0 +1422. IADDCONST: int: -243512 +1423. ISUBCONST: int: -243510 +1424. IMULCONST: int: 243511 +1425. ISHLCONST: int: -2147483648 +1426. ISHRCONST: int: -1 +1427. IUSHRCONST: int: 1 +1428. IANDCONST: int: -243511 +1429. IORCONST: int: -1 +1430. IXORCONST: int: 243510 +1431. not IFEQ: int: -1 +1432. not IFGT: int: -1 +1433. not IFGE: int: -1 +1434. LADDCONST: long: -4423423234231424 +1435. LSUBCONST: long: -4423423234231422 +1436. LMULCONST: long: 4423423234231423 +1437. LSHLCONST: long: -9223372036854775808 +1438. LSHRCONST: long: -1 +1439. LUSHRCONST: long: 1 +1440. LANDCONST: long: -4423423234231423 +1441. LORCONST: long: -1 +1442. LXORCONST: long: 4423423234231422 +1443. not IF_LEQ: int: -1 +1444. not IF_LGT: int: -1 +1445. not IF_LGE: int: -1 +1446. IADDCONST: int: -243510 +1447. ISUBCONST: int: -243512 +1448. IMULCONST: int: -243511 +1449. ISHLCONST: int: -487022 +1450. ISHRCONST: int: -121756 +1451. IUSHRCONST: int: 2147361892 +1452. IANDCONST: int: 1 +1453. IORCONST: int: -243511 +1454. IXORCONST: int: -243512 +1455. not IFEQ: int: 1 +1456. not IFGT: int: 1 +1457. not IFGE: int: 1 +1458. LADDCONST: long: -4423423234231422 +1459. LSUBCONST: long: -4423423234231424 +1460. LMULCONST: long: -4423423234231423 +1461. LSHLCONST: long: -8846846468462846 +1462. LSHRCONST: long: -2211711617115712 +1463. LUSHRCONST: long: 9221160325237660096 +1464. LANDCONST: long: 1 +1465. LORCONST: long: -4423423234231423 +1466. LXORCONST: long: -4423423234231424 +1467. not IF_LEQ: int: 1 +1468. not IF_LGT: int: 1 +1469. not IF_LGE: int: 1 +1470. IADDCONST: int: -243256 +1471. ISUBCONST: int: -243766 +1472. IMULCONST: int: -62095305 +1473. ISHLCONST: int: -2147483648 +1474. ISHRCONST: int: -1 +1475. IUSHRCONST: int: 1 +1476. IANDCONST: int: 201 +1477. IORCONST: int: -243457 +1478. IXORCONST: int: -243658 +1479. not IFEQ: int: 255 +1480. not IFGT: int: 255 +1481. not IFGE: int: 255 +1482. LADDCONST: long: -4423423234231168 +1483. LSUBCONST: long: -4423423234231678 +1484. LMULCONST: long: -1127972924729012865 +1485. LSHLCONST: long: -9223372036854775808 +1486. LSHRCONST: long: -1 +1487. LUSHRCONST: long: 1 +1488. LANDCONST: long: 129 +1489. LORCONST: long: -4423423234231297 +1490. LXORCONST: long: -4423423234231426 +1491. not IF_LEQ: int: 255 +1492. not IF_LGT: int: 255 +1493. not IF_LGE: int: 255 +1494. IADDCONST: int: -243255 +1495. ISUBCONST: int: -243767 +1496. IMULCONST: int: -62338816 +1497. ISHLCONST: int: -243511 +1498. ISHRCONST: int: -243511 +1499. IUSHRCONST: int: -243511 +1500. IANDCONST: int: 0 +1501. IORCONST: int: -243255 +1502. IXORCONST: int: -243255 +1503. not IFEQ: int: 256 +1504. not IFGT: int: 256 +1505. not IFGE: int: 256 +1506. LADDCONST: long: -4423423234231167 +1507. LSUBCONST: long: -4423423234231679 +1508. LMULCONST: long: -1132396347963244288 +1509. LSHLCONST: long: -4423423234231423 +1510. LSHRCONST: long: -4423423234231423 +1511. LUSHRCONST: long: -4423423234231423 +1512. LANDCONST: long: 256 +1513. LORCONST: long: -4423423234231423 +1514. LXORCONST: long: -4423423234231679 +1515. not IF_LEQ: int: 256 +1516. not IF_LGT: int: 256 +1517. not IF_LGE: int: 256 +1518. IADDCONST: int: -210744 +1519. ISUBCONST: int: -276278 +1520. IMULCONST: int: 610809655 +1521. ISHLCONST: int: -2147483648 +1522. ISHRCONST: int: -1 +1523. IUSHRCONST: int: 1 +1524. IANDCONST: int: 18633 +1525. IORCONST: int: -229377 +1526. IXORCONST: int: -248010 +1527. not IFEQ: int: 32767 +1528. not IFGT: int: 32767 +1529. not IFGE: int: 32767 +1530. LADDCONST: long: -4423423234198656 +1531. LSUBCONST: long: -4423423234264190 +1532. LMULCONST: long: 2631643473615375487 +1533. LSHLCONST: long: -9223372036854775808 +1534. LSHRCONST: long: -1 +1535. LUSHRCONST: long: 1 +1536. LANDCONST: long: 13185 +1537. LORCONST: long: -4423423234211841 +1538. LXORCONST: long: -4423423234225026 +1539. not IF_LEQ: int: 32767 +1540. not IF_LGT: int: 32767 +1541. not IF_LGE: int: 32767 +1542. IADDCONST: int: -210743 +1543. ISUBCONST: int: -276279 +1544. IMULCONST: int: 610566144 +1545. ISHLCONST: int: -243511 +1546. ISHRCONST: int: -243511 +1547. IUSHRCONST: int: -243511 +1548. IANDCONST: int: 0 +1549. IORCONST: int: -210743 +1550. IXORCONST: int: -210743 +1551. not IFEQ: int: 32768 +1552. not IFGT: int: 32768 +1553. not IFGE: int: 32768 +1554. LADDCONST: long: -4423423234198655 +1555. LSUBCONST: long: -4423423234264191 +1556. LMULCONST: long: 2627220050381144064 +1557. LSHLCONST: long: -4423423234231423 +1558. LSHRCONST: long: -4423423234231423 +1559. LUSHRCONST: long: -4423423234231423 +1560. LANDCONST: long: 32768 +1561. LORCONST: long: -4423423234231423 +1562. LXORCONST: long: -4423423234264191 +1563. not IF_LEQ: int: 32768 +1564. not IF_LGT: int: 32768 +1565. not IF_LGE: int: 32768 +1566. IADDCONST: int: -276279 +1567. ISUBCONST: int: -210743 +1568. IMULCONST: int: -610566144 +1569. ISHLCONST: int: -243511 +1570. ISHRCONST: int: -243511 +1571. IUSHRCONST: int: -243511 +1572. IANDCONST: int: -262144 +1573. IORCONST: int: -14135 +1574. IXORCONST: int: 248009 +1575. not IFEQ: int: -32768 +1576. not IFGT: int: -32768 +1577. not IFGE: int: -32768 +1578. LADDCONST: long: -4423423234264191 +1579. LSUBCONST: long: -4423423234198655 +1580. LMULCONST: long: -2627220050381144064 +1581. LSHLCONST: long: -4423423234231423 +1582. LSHRCONST: long: -4423423234231423 +1583. LUSHRCONST: long: -4423423234231423 +1584. LANDCONST: long: -4423423234244608 +1585. LORCONST: long: -19583 +1586. LXORCONST: long: 4423423234225025 +1587. not IF_LEQ: int: -32768 +1588. not IF_LGT: int: -32768 +1589. not IF_LGE: int: -32768 +1590. IADDCONST: int: -276280 +1591. ISUBCONST: int: -210742 +1592. IMULCONST: int: -610322633 +1593. ISHLCONST: int: -2147483648 +1594. ISHRCONST: int: -1 +1595. IUSHRCONST: int: 1 +1596. IANDCONST: int: -243511 +1597. IORCONST: int: -32769 +1598. IXORCONST: int: 210742 +1599. not IFEQ: int: -32769 +1600. not IFGT: int: -32769 +1601. not IFGE: int: -32769 +1602. LADDCONST: long: -4423423234264192 +1603. LSUBCONST: long: -4423423234198654 +1604. LMULCONST: long: -2622796627146912641 +1605. LSHLCONST: long: -9223372036854775808 +1606. LSHRCONST: long: -1 +1607. LUSHRCONST: long: 1 +1608. LANDCONST: long: -4423423234264191 +1609. LORCONST: long: -1 +1610. LXORCONST: long: 4423423234264190 +1611. not IF_LEQ: int: -32769 +1612. not IF_LGT: int: -32769 +1613. not IF_LGE: int: -32769 +1614. IADDCONST: int: 2147240136 +1615. ISUBCONST: int: 2147240138 +1616. IMULCONST: int: -2147240137 +1617. ISHLCONST: int: -2147483648 +1618. ISHRCONST: int: -1 +1619. IUSHRCONST: int: 1 +1620. IANDCONST: int: 2147240137 +1621. IORCONST: int: -1 +1622. IXORCONST: int: -2147240138 +1623. not IFEQ: int: 2147483647 +1624. not IFGT: int: 2147483647 +1625. not IFGE: int: 2147483647 +1626. LADDCONST: long: -4423421086747776 +1627. LSUBCONST: long: -4423425381715070 +1628. LMULCONST: long: -4411538803063174017 +1629. LSHLCONST: long: -9223372036854775808 +1630. LSHRCONST: long: -1 +1631. LUSHRCONST: long: 1 +1632. LANDCONST: long: 91140993 +1633. LORCONST: long: -4423421177888769 +1634. LXORCONST: long: -4423421269029762 +1635. not IF_LEQ: int: 2147483647 +1636. not IF_LGT: int: 2147483647 +1637. not IF_LGE: int: 2147483647 +1638. LADDCONST: long: -4423421086747775 +1639. LSUBCONST: long: -4423425381715071 +1640. LMULCONST: long: -4415962226297405440 +1641. LSHLCONST: long: -4423423234231423 +1642. LSHRCONST: long: -4423423234231423 +1643. LUSHRCONST: long: -4423423234231423 +1644. LANDCONST: long: 2147483648 +1645. LORCONST: long: -4423423234231423 +1646. LXORCONST: long: -4423425381715071 +1647. not IF_LEQ: long: 2147483648 +1648. not IF_LGT: long: 2147483648 +1649. not IF_LGE: long: 2147483648 +1650. IADDCONST: int: 2147240137 +1651. ISUBCONST: int: 2147240137 +1652. IMULCONST: int: -2147483648 +1653. ISHLCONST: int: -243511 +1654. ISHRCONST: int: -243511 +1655. IUSHRCONST: int: -243511 +1656. IANDCONST: int: -2147483648 +1657. IORCONST: int: -243511 +1658. IXORCONST: int: 2147240137 +1659. not IFEQ: int: -2147483648 +1660. not IFLT: int: -2147483648 +1661. not IFLE: int: -2147483648 +1662. LADDCONST: long: -4423425381715071 +1663. LSUBCONST: long: -4423421086747775 +1664. LMULCONST: long: 4415962226297405440 +1665. LSHLCONST: long: -4423423234231423 +1666. LSHRCONST: long: -4423423234231423 +1667. LUSHRCONST: long: -4423423234231423 +1668. LANDCONST: long: -4423423325372416 +1669. LORCONST: long: -2056342655 +1670. LXORCONST: long: 4423421269029761 +1671. not IF_LEQ: int: -2147483648 +1672. not IF_LGT: int: -2147483648 +1673. not IF_LGE: int: -2147483648 +1674. LADDCONST: long: -4423425381715072 +1675. LSUBCONST: long: -4423421086747774 +1676. LMULCONST: long: 4420385649531636863 +1677. LSHLCONST: long: -9223372036854775808 +1678. LSHRCONST: long: -1 +1679. LUSHRCONST: long: 1 +1680. LANDCONST: long: -4423425381715071 +1681. LORCONST: long: -1 +1682. LXORCONST: long: 4423425381715070 +1683. not IF_LEQ: long: -2147483649 +1684. not IF_LGT: long: -2147483649 +1685. not IF_LGE: long: -2147483649 +1686. TESTCONST CALLED WITH int: 2147483647 +1687. AND long: 9223372036854775807 +1688. not IFEQ: int: 0 +1689. not IFLT: int: 0 +1690. not IFLE: int: 0 +1691. not IF_LEQ: int: 0 +1692. not IF_LLT: int: 0 +1693. not IF_LLE: int: 0 +1694. IADDCONST: int: 2147483646 +1695. ISUBCONST: int: -2147483648 +1696. IMULCONST: int: -2147483647 +1697. ISHLCONST: int: -2147483648 +1698. ISHRCONST: int: 0 +1699. IUSHRCONST: int: 0 +1700. IANDCONST: int: 2147483647 +1701. IORCONST: int: -1 +1702. IXORCONST: int: -2147483648 +1703. not IFEQ: int: -1 +1704. not IFLT: int: -1 +1705. not IFLE: int: -1 +1706. LADDCONST: long: 9223372036854775806 +1707. LSUBCONST: long: -9223372036854775808 +1708. LMULCONST: long: -9223372036854775807 +1709. LSHLCONST: long: -9223372036854775808 +1710. LSHRCONST: long: 0 +1711. LUSHRCONST: long: 0 +1712. LANDCONST: long: 9223372036854775807 +1713. LORCONST: long: -1 +1714. LXORCONST: long: -9223372036854775808 +1715. not IF_LEQ: int: -1 +1716. not IF_LLT: int: -1 +1717. not IF_LLE: int: -1 +1718. IADDCONST: int: -2147483648 +1719. ISUBCONST: int: 2147483646 +1720. IMULCONST: int: 2147483647 +1721. ISHLCONST: int: -2 +1722. ISHRCONST: int: 1073741823 +1723. IUSHRCONST: int: 1073741823 +1724. IANDCONST: int: 1 +1725. IORCONST: int: 2147483647 +1726. IXORCONST: int: 2147483646 +1727. not IFEQ: int: 1 +1728. not IFLT: int: 1 +1729. not IFLE: int: 1 +1730. LADDCONST: long: -9223372036854775808 +1731. LSUBCONST: long: 9223372036854775806 +1732. LMULCONST: long: 9223372036854775807 +1733. LSHLCONST: long: -2 +1734. LSHRCONST: long: 4611686018427387903 +1735. LUSHRCONST: long: 4611686018427387903 +1736. LANDCONST: long: 1 +1737. LORCONST: long: 9223372036854775807 +1738. LXORCONST: long: 9223372036854775806 +1739. not IF_LEQ: int: 1 +1740. not IF_LLT: int: 1 +1741. not IF_LLE: int: 1 +1742. IADDCONST: int: -2147483394 +1743. ISUBCONST: int: 2147483392 +1744. IMULCONST: int: 2147483393 +1745. ISHLCONST: int: -2147483648 +1746. ISHRCONST: int: 0 +1747. IUSHRCONST: int: 0 +1748. IANDCONST: int: 255 +1749. IORCONST: int: 2147483647 +1750. IXORCONST: int: 2147483392 +1751. not IFEQ: int: 255 +1752. not IFLT: int: 255 +1753. not IFLE: int: 255 +1754. LADDCONST: long: -9223372036854775554 +1755. LSUBCONST: long: 9223372036854775552 +1756. LMULCONST: long: 9223372036854775553 +1757. LSHLCONST: long: -9223372036854775808 +1758. LSHRCONST: long: 0 +1759. LUSHRCONST: long: 0 +1760. LANDCONST: long: 255 +1761. LORCONST: long: 9223372036854775807 +1762. LXORCONST: long: 9223372036854775552 +1763. not IF_LEQ: int: 255 +1764. not IF_LLT: int: 255 +1765. not IF_LLE: int: 255 +1766. IADDCONST: int: -2147483393 +1767. ISUBCONST: int: 2147483391 +1768. IMULCONST: int: -256 +1769. ISHLCONST: int: 2147483647 +1770. ISHRCONST: int: 2147483647 +1771. IUSHRCONST: int: 2147483647 +1772. IANDCONST: int: 256 +1773. IORCONST: int: 2147483647 +1774. IXORCONST: int: 2147483391 +1775. not IFEQ: int: 256 +1776. not IFLT: int: 256 +1777. not IFLE: int: 256 +1778. LADDCONST: long: -9223372036854775553 +1779. LSUBCONST: long: 9223372036854775551 +1780. LMULCONST: long: -256 +1781. LSHLCONST: long: 9223372036854775807 +1782. LSHRCONST: long: 9223372036854775807 +1783. LUSHRCONST: long: 9223372036854775807 +1784. LANDCONST: long: 256 +1785. LORCONST: long: 9223372036854775807 +1786. LXORCONST: long: 9223372036854775551 +1787. not IF_LEQ: int: 256 +1788. not IF_LLT: int: 256 +1789. not IF_LLE: int: 256 +1790. IADDCONST: int: -2147450882 +1791. ISUBCONST: int: 2147450880 +1792. IMULCONST: int: 2147450881 +1793. ISHLCONST: int: -2147483648 +1794. ISHRCONST: int: 0 +1795. IUSHRCONST: int: 0 +1796. IANDCONST: int: 32767 +1797. IORCONST: int: 2147483647 +1798. IXORCONST: int: 2147450880 +1799. not IFEQ: int: 32767 +1800. not IFLT: int: 32767 +1801. not IFLE: int: 32767 +1802. LADDCONST: long: -9223372036854743042 +1803. LSUBCONST: long: 9223372036854743040 +1804. LMULCONST: long: 9223372036854743041 +1805. LSHLCONST: long: -9223372036854775808 +1806. LSHRCONST: long: 0 +1807. LUSHRCONST: long: 0 +1808. LANDCONST: long: 32767 +1809. LORCONST: long: 9223372036854775807 +1810. LXORCONST: long: 9223372036854743040 +1811. not IF_LEQ: int: 32767 +1812. not IF_LLT: int: 32767 +1813. not IF_LLE: int: 32767 +1814. IADDCONST: int: -2147450881 +1815. ISUBCONST: int: 2147450879 +1816. IMULCONST: int: -32768 +1817. ISHLCONST: int: 2147483647 +1818. ISHRCONST: int: 2147483647 +1819. IUSHRCONST: int: 2147483647 +1820. IANDCONST: int: 32768 +1821. IORCONST: int: 2147483647 +1822. IXORCONST: int: 2147450879 +1823. not IFEQ: int: 32768 +1824. not IFLT: int: 32768 +1825. not IFLE: int: 32768 +1826. LADDCONST: long: -9223372036854743041 +1827. LSUBCONST: long: 9223372036854743039 +1828. LMULCONST: long: -32768 +1829. LSHLCONST: long: 9223372036854775807 +1830. LSHRCONST: long: 9223372036854775807 +1831. LUSHRCONST: long: 9223372036854775807 +1832. LANDCONST: long: 32768 +1833. LORCONST: long: 9223372036854775807 +1834. LXORCONST: long: 9223372036854743039 +1835. not IF_LEQ: int: 32768 +1836. not IF_LLT: int: 32768 +1837. not IF_LLE: int: 32768 +1838. IADDCONST: int: 2147450879 +1839. ISUBCONST: int: -2147450881 +1840. IMULCONST: int: 32768 +1841. ISHLCONST: int: 2147483647 +1842. ISHRCONST: int: 2147483647 +1843. IUSHRCONST: int: 2147483647 +1844. IANDCONST: int: 2147450880 +1845. IORCONST: int: -1 +1846. IXORCONST: int: -2147450881 +1847. not IFEQ: int: -32768 +1848. not IFLT: int: -32768 +1849. not IFLE: int: -32768 +1850. LADDCONST: long: 9223372036854743039 +1851. LSUBCONST: long: -9223372036854743041 +1852. LMULCONST: long: 32768 +1853. LSHLCONST: long: 9223372036854775807 +1854. LSHRCONST: long: 9223372036854775807 +1855. LUSHRCONST: long: 9223372036854775807 +1856. LANDCONST: long: 9223372036854743040 +1857. LORCONST: long: -1 +1858. LXORCONST: long: -9223372036854743041 +1859. not IF_LEQ: int: -32768 +1860. not IF_LLT: int: -32768 +1861. not IF_LLE: int: -32768 +1862. IADDCONST: int: 2147450878 +1863. ISUBCONST: int: -2147450880 +1864. IMULCONST: int: -2147450879 +1865. ISHLCONST: int: -2147483648 +1866. ISHRCONST: int: 0 +1867. IUSHRCONST: int: 0 +1868. IANDCONST: int: 2147450879 +1869. IORCONST: int: -1 +1870. IXORCONST: int: -2147450880 +1871. not IFEQ: int: -32769 +1872. not IFLT: int: -32769 +1873. not IFLE: int: -32769 +1874. LADDCONST: long: 9223372036854743038 +1875. LSUBCONST: long: -9223372036854743040 +1876. LMULCONST: long: -9223372036854743039 +1877. LSHLCONST: long: -9223372036854775808 +1878. LSHRCONST: long: 0 +1879. LUSHRCONST: long: 0 +1880. LANDCONST: long: 9223372036854743039 +1881. LORCONST: long: -1 +1882. LXORCONST: long: -9223372036854743040 +1883. not IF_LEQ: int: -32769 +1884. not IF_LLT: int: -32769 +1885. not IF_LLE: int: -32769 +1886. IADDCONST: int: -2 +1887. ISUBCONST: int: 0 +1888. IMULCONST: int: 1 +1889. ISHLCONST: int: -2147483648 +1890. ISHRCONST: int: 0 +1891. IUSHRCONST: int: 0 +1892. IANDCONST: int: 2147483647 +1893. IORCONST: int: 2147483647 +1894. IXORCONST: int: 0 +1895. not IFNE: int: 2147483647 +1896. not IFLT: int: 2147483647 +1897. not IFGT: int: 2147483647 +1898. LADDCONST: long: -9223372034707292162 +1899. LSUBCONST: long: 9223372034707292160 +1900. LMULCONST: long: 9223372034707292161 +1901. LSHLCONST: long: -9223372036854775808 +1902. LSHRCONST: long: 0 +1903. LUSHRCONST: long: 0 +1904. LANDCONST: long: 2147483647 +1905. LORCONST: long: 9223372036854775807 +1906. LXORCONST: long: 9223372034707292160 +1907. not IF_LEQ: int: 2147483647 +1908. not IF_LLT: int: 2147483647 +1909. not IF_LLE: int: 2147483647 +1910. LADDCONST: long: -9223372034707292161 +1911. LSUBCONST: long: 9223372034707292159 +1912. LMULCONST: long: -2147483648 +1913. LSHLCONST: long: 9223372036854775807 +1914. LSHRCONST: long: 9223372036854775807 +1915. LUSHRCONST: long: 9223372036854775807 +1916. LANDCONST: long: 2147483648 +1917. LORCONST: long: 9223372036854775807 +1918. LXORCONST: long: 9223372034707292159 +1919. not IF_LEQ: long: 2147483648 +1920. not IF_LLT: long: 2147483648 +1921. not IF_LLE: long: 2147483648 +1922. IADDCONST: int: -1 +1923. ISUBCONST: int: -1 +1924. IMULCONST: int: -2147483648 +1925. ISHLCONST: int: 2147483647 +1926. ISHRCONST: int: 2147483647 +1927. IUSHRCONST: int: 2147483647 +1928. IANDCONST: int: 0 +1929. IORCONST: int: -1 +1930. IXORCONST: int: -1 +1931. not IFEQ: int: -2147483648 +1932. not IFLT: int: -2147483648 +1933. not IFLE: int: -2147483648 +1934. LADDCONST: long: 9223372034707292159 +1935. LSUBCONST: long: -9223372034707292161 +1936. LMULCONST: long: 2147483648 +1937. LSHLCONST: long: 9223372036854775807 +1938. LSHRCONST: long: 9223372036854775807 +1939. LUSHRCONST: long: 9223372036854775807 +1940. LANDCONST: long: 9223372034707292160 +1941. LORCONST: long: -1 +1942. LXORCONST: long: -9223372034707292161 +1943. not IF_LEQ: int: -2147483648 +1944. not IF_LLT: int: -2147483648 +1945. not IF_LLE: int: -2147483648 +1946. LADDCONST: long: 9223372034707292158 +1947. LSUBCONST: long: -9223372034707292160 +1948. LMULCONST: long: -9223372034707292159 +1949. LSHLCONST: long: -9223372036854775808 +1950. LSHRCONST: long: 0 +1951. LUSHRCONST: long: 0 +1952. LANDCONST: long: 9223372034707292159 +1953. LORCONST: long: -1 +1954. LXORCONST: long: -9223372034707292160 +1955. not IF_LEQ: long: -2147483649 +1956. not IF_LLT: long: -2147483649 +1957. not IF_LLE: long: -2147483649 +1958. TESTCONST CALLED WITH int: -2147483648 +1959. AND long: -9223372036854775808 +1960. not IFEQ: int: 0 +1961. not IFGT: int: 0 +1962. not IFGE: int: 0 +1963. not IF_LEQ: int: 0 +1964. not IF_LGT: int: 0 +1965. not IF_LGE: int: 0 +1966. IADDCONST: int: 2147483647 +1967. ISUBCONST: int: -2147483647 +1968. IMULCONST: int: -2147483648 +1969. ISHLCONST: int: 0 +1970. ISHRCONST: int: -1 +1971. IUSHRCONST: int: 1 +1972. IANDCONST: int: -2147483648 +1973. IORCONST: int: -1 +1974. IXORCONST: int: 2147483647 +1975. not IFEQ: int: -1 +1976. not IFGT: int: -1 +1977. not IFGE: int: -1 +1978. LADDCONST: long: 9223372036854775807 +1979. LSUBCONST: long: -9223372036854775807 +1980. LMULCONST: long: -9223372036854775808 +1981. LSHLCONST: long: 0 +1982. LSHRCONST: long: -1 +1983. LUSHRCONST: long: 1 +1984. LANDCONST: long: -9223372036854775808 +1985. LORCONST: long: -1 +1986. LXORCONST: long: 9223372036854775807 +1987. not IF_LEQ: int: -1 +1988. not IF_LGT: int: -1 +1989. not IF_LGE: int: -1 +1990. IADDCONST: int: -2147483647 +1991. ISUBCONST: int: 2147483647 +1992. IMULCONST: int: -2147483648 +1993. ISHLCONST: int: 0 +1994. ISHRCONST: int: -1073741824 +1995. IUSHRCONST: int: 1073741824 +1996. IANDCONST: int: 0 +1997. IORCONST: int: -2147483647 +1998. IXORCONST: int: -2147483647 +1999. not IFEQ: int: 1 +2000. not IFGT: int: 1 +2001. not IFGE: int: 1 +2002. LADDCONST: long: -9223372036854775807 +2003. LSUBCONST: long: 9223372036854775807 +2004. LMULCONST: long: -9223372036854775808 +2005. LSHLCONST: long: 0 +2006. LSHRCONST: long: -4611686018427387904 +2007. LUSHRCONST: long: 4611686018427387904 +2008. LANDCONST: long: 0 +2009. LORCONST: long: -9223372036854775807 +2010. LXORCONST: long: -9223372036854775807 +2011. not IF_LEQ: int: 1 +2012. not IF_LGT: int: 1 +2013. not IF_LGE: int: 1 +2014. IADDCONST: int: -2147483393 +2015. ISUBCONST: int: 2147483393 +2016. IMULCONST: int: -2147483648 +2017. ISHLCONST: int: 0 +2018. ISHRCONST: int: -1 +2019. IUSHRCONST: int: 1 +2020. IANDCONST: int: 0 +2021. IORCONST: int: -2147483393 +2022. IXORCONST: int: -2147483393 +2023. not IFEQ: int: 255 +2024. not IFGT: int: 255 +2025. not IFGE: int: 255 +2026. LADDCONST: long: -9223372036854775553 +2027. LSUBCONST: long: 9223372036854775553 +2028. LMULCONST: long: -9223372036854775808 +2029. LSHLCONST: long: 0 +2030. LSHRCONST: long: -1 +2031. LUSHRCONST: long: 1 +2032. LANDCONST: long: 0 +2033. LORCONST: long: -9223372036854775553 +2034. LXORCONST: long: -9223372036854775553 +2035. not IF_LEQ: int: 255 +2036. not IF_LGT: int: 255 +2037. not IF_LGE: int: 255 +2038. IADDCONST: int: -2147483392 +2039. ISUBCONST: int: 2147483392 +2040. IMULCONST: int: 0 +2041. ISHLCONST: int: -2147483648 +2042. ISHRCONST: int: -2147483648 +2043. IUSHRCONST: int: -2147483648 +2044. IANDCONST: int: 0 +2045. IORCONST: int: -2147483392 +2046. IXORCONST: int: -2147483392 +2047. not IFEQ: int: 256 +2048. not IFGT: int: 256 +2049. not IFGE: int: 256 +2050. LADDCONST: long: -9223372036854775552 +2051. LSUBCONST: long: 9223372036854775552 +2052. LMULCONST: long: 0 +2053. LSHLCONST: long: -9223372036854775808 +2054. LSHRCONST: long: -9223372036854775808 +2055. LUSHRCONST: long: -9223372036854775808 +2056. LANDCONST: long: 0 +2057. LORCONST: long: -9223372036854775552 +2058. LXORCONST: long: -9223372036854775552 +2059. not IF_LEQ: int: 256 +2060. not IF_LGT: int: 256 +2061. not IF_LGE: int: 256 +2062. IADDCONST: int: -2147450881 +2063. ISUBCONST: int: 2147450881 +2064. IMULCONST: int: -2147483648 +2065. ISHLCONST: int: 0 +2066. ISHRCONST: int: -1 +2067. IUSHRCONST: int: 1 +2068. IANDCONST: int: 0 +2069. IORCONST: int: -2147450881 +2070. IXORCONST: int: -2147450881 +2071. not IFEQ: int: 32767 +2072. not IFGT: int: 32767 +2073. not IFGE: int: 32767 +2074. LADDCONST: long: -9223372036854743041 +2075. LSUBCONST: long: 9223372036854743041 +2076. LMULCONST: long: -9223372036854775808 +2077. LSHLCONST: long: 0 +2078. LSHRCONST: long: -1 +2079. LUSHRCONST: long: 1 +2080. LANDCONST: long: 0 +2081. LORCONST: long: -9223372036854743041 +2082. LXORCONST: long: -9223372036854743041 +2083. not IF_LEQ: int: 32767 +2084. not IF_LGT: int: 32767 +2085. not IF_LGE: int: 32767 +2086. IADDCONST: int: -2147450880 +2087. ISUBCONST: int: 2147450880 +2088. IMULCONST: int: 0 +2089. ISHLCONST: int: -2147483648 +2090. ISHRCONST: int: -2147483648 +2091. IUSHRCONST: int: -2147483648 +2092. IANDCONST: int: 0 +2093. IORCONST: int: -2147450880 +2094. IXORCONST: int: -2147450880 +2095. not IFEQ: int: 32768 +2096. not IFGT: int: 32768 +2097. not IFGE: int: 32768 +2098. LADDCONST: long: -9223372036854743040 +2099. LSUBCONST: long: 9223372036854743040 +2100. LMULCONST: long: 0 +2101. LSHLCONST: long: -9223372036854775808 +2102. LSHRCONST: long: -9223372036854775808 +2103. LUSHRCONST: long: -9223372036854775808 +2104. LANDCONST: long: 0 +2105. LORCONST: long: -9223372036854743040 +2106. LXORCONST: long: -9223372036854743040 +2107. not IF_LEQ: int: 32768 +2108. not IF_LGT: int: 32768 +2109. not IF_LGE: int: 32768 +2110. IADDCONST: int: 2147450880 +2111. ISUBCONST: int: -2147450880 +2112. IMULCONST: int: 0 +2113. ISHLCONST: int: -2147483648 +2114. ISHRCONST: int: -2147483648 +2115. IUSHRCONST: int: -2147483648 +2116. IANDCONST: int: -2147483648 +2117. IORCONST: int: -32768 +2118. IXORCONST: int: 2147450880 +2119. not IFEQ: int: -32768 +2120. not IFGT: int: -32768 +2121. not IFGE: int: -32768 +2122. LADDCONST: long: 9223372036854743040 +2123. LSUBCONST: long: -9223372036854743040 +2124. LMULCONST: long: 0 +2125. LSHLCONST: long: -9223372036854775808 +2126. LSHRCONST: long: -9223372036854775808 +2127. LUSHRCONST: long: -9223372036854775808 +2128. LANDCONST: long: -9223372036854775808 +2129. LORCONST: long: -32768 +2130. LXORCONST: long: 9223372036854743040 +2131. not IF_LEQ: int: -32768 +2132. not IF_LGT: int: -32768 +2133. not IF_LGE: int: -32768 +2134. IADDCONST: int: 2147450879 +2135. ISUBCONST: int: -2147450879 +2136. IMULCONST: int: -2147483648 +2137. ISHLCONST: int: 0 +2138. ISHRCONST: int: -1 +2139. IUSHRCONST: int: 1 +2140. IANDCONST: int: -2147483648 +2141. IORCONST: int: -32769 +2142. IXORCONST: int: 2147450879 +2143. not IFEQ: int: -32769 +2144. not IFGT: int: -32769 +2145. not IFGE: int: -32769 +2146. LADDCONST: long: 9223372036854743039 +2147. LSUBCONST: long: -9223372036854743039 +2148. LMULCONST: long: -9223372036854775808 +2149. LSHLCONST: long: 0 +2150. LSHRCONST: long: -1 +2151. LUSHRCONST: long: 1 +2152. LANDCONST: long: -9223372036854775808 +2153. LORCONST: long: -32769 +2154. LXORCONST: long: 9223372036854743039 +2155. not IF_LEQ: int: -32769 +2156. not IF_LGT: int: -32769 +2157. not IF_LGE: int: -32769 +2158. IADDCONST: int: -1 +2159. ISUBCONST: int: 1 +2160. IMULCONST: int: -2147483648 +2161. ISHLCONST: int: 0 +2162. ISHRCONST: int: -1 +2163. IUSHRCONST: int: 1 +2164. IANDCONST: int: 0 +2165. IORCONST: int: -1 +2166. IXORCONST: int: -1 +2167. not IFEQ: int: 2147483647 +2168. not IFGT: int: 2147483647 +2169. not IFGE: int: 2147483647 +2170. LADDCONST: long: -9223372034707292161 +2171. LSUBCONST: long: 9223372034707292161 +2172. LMULCONST: long: -9223372036854775808 +2173. LSHLCONST: long: 0 +2174. LSHRCONST: long: -1 +2175. LUSHRCONST: long: 1 +2176. LANDCONST: long: 0 +2177. LORCONST: long: -9223372034707292161 +2178. LXORCONST: long: -9223372034707292161 +2179. not IF_LEQ: int: 2147483647 +2180. not IF_LGT: int: 2147483647 +2181. not IF_LGE: int: 2147483647 +2182. LADDCONST: long: -9223372034707292160 +2183. LSUBCONST: long: 9223372034707292160 +2184. LMULCONST: long: 0 +2185. LSHLCONST: long: -9223372036854775808 +2186. LSHRCONST: long: -9223372036854775808 +2187. LUSHRCONST: long: -9223372036854775808 +2188. LANDCONST: long: 0 +2189. LORCONST: long: -9223372034707292160 +2190. LXORCONST: long: -9223372034707292160 +2191. not IF_LEQ: long: 2147483648 +2192. not IF_LGT: long: 2147483648 +2193. not IF_LGE: long: 2147483648 +2194. IADDCONST: int: 0 +2195. ISUBCONST: int: 0 +2196. IMULCONST: int: 0 +2197. ISHLCONST: int: -2147483648 +2198. ISHRCONST: int: -2147483648 +2199. IUSHRCONST: int: -2147483648 +2200. IANDCONST: int: -2147483648 +2201. IORCONST: int: -2147483648 +2202. IXORCONST: int: 0 +2203. not IFNE: int: -2147483648 +2204. not IFLT: int: -2147483648 +2205. not IFGT: int: -2147483648 +2206. LADDCONST: long: 9223372034707292160 +2207. LSUBCONST: long: -9223372034707292160 +2208. LMULCONST: long: 0 +2209. LSHLCONST: long: -9223372036854775808 +2210. LSHRCONST: long: -9223372036854775808 +2211. LUSHRCONST: long: -9223372036854775808 +2212. LANDCONST: long: -9223372036854775808 +2213. LORCONST: long: -2147483648 +2214. LXORCONST: long: 9223372034707292160 +2215. not IF_LEQ: int: -2147483648 +2216. not IF_LGT: int: -2147483648 +2217. not IF_LGE: int: -2147483648 +2218. LADDCONST: long: 9223372034707292159 +2219. LSUBCONST: long: -9223372034707292159 +2220. LMULCONST: long: -9223372036854775808 +2221. LSHLCONST: long: 0 +2222. LSHRCONST: long: -1 +2223. LUSHRCONST: long: 1 +2224. LANDCONST: long: -9223372036854775808 +2225. LORCONST: long: -2147483649 +2226. LXORCONST: long: 9223372034707292159 +2227. not IF_LEQ: long: -2147483649 +2228. not IF_LGT: long: -2147483649 +2229. not IF_LGE: long: -2147483649 +2230. ------------------- test div and rem consts +2231. IDIVPOW2 (17 / 0x00000002): int: 8 +2232. IDIVPOW2 (17 / 0x00000004): int: 4 +2233. IDIVPOW2 (17 / 0x00000008): int: 2 +2234. IDIVPOW2 (17 / 0x00000010): int: 1 +2235. IDIVPOW2 (17 / 0x00000020): int: 0 +2236. IDIVPOW2 (17 / 0x00000040): int: 0 +2237. IDIVPOW2 (17 / 0x00000080): int: 0 +2238. IDIVPOW2 (17 / 0x00000100): int: 0 +2239. IDIVPOW2 (17 / 0x00000200): int: 0 +2240. IDIVPOW2 (17 / 0x00000400): int: 0 +2241. IDIVPOW2 (17 / 0x00000800): int: 0 +2242. IDIVPOW2 (17 / 0x00001000): int: 0 +2243. IDIVPOW2 (17 / 0x00002000): int: 0 +2244. IDIVPOW2 (17 / 0x00004000): int: 0 +2245. IDIVPOW2 (17 / 0x00008000): int: 0 +2246. IDIVPOW2 (17 / 0x00010000): int: 0 +2247. IDIVPOW2 (17 / 0x00020000): int: 0 +2248. IDIVPOW2 (17 / 0x00040000): int: 0 +2249. IDIVPOW2 (17 / 0x00080000): int: 0 +2250. IDIVPOW2 (17 / 0x00100000): int: 0 +2251. IDIVPOW2 (17 / 0x00200000): int: 0 +2252. IDIVPOW2 (17 / 0x00400000): int: 0 +2253. IDIVPOW2 (17 / 0x00800000): int: 0 +2254. IDIVPOW2 (17 / 0x01000000): int: 0 +2255. IDIVPOW2 (17 / 0x02000000): int: 0 +2256. IDIVPOW2 (17 / 0x04000000): int: 0 +2257. IDIVPOW2 (17 / 0x08000000): int: 0 +2258. IDIVPOW2 (17 / 0x10000000): int: 0 +2259. IDIVPOW2 (17 / 0x20000000): int: 0 +2260. IDIVPOW2 (17 / 0x40000000): int: 0 +2261. IDIVPOW2 (17 / 0x80000000): int: 0 +2262. IREMPOW2 (17 % 0x00000002): int: 1 +2263. IREMPOW2 (17 % 0x00000004): int: 1 +2264. IREMPOW2 (17 % 0x00000008): int: 1 +2265. IREMPOW2 (17 % 0x00000010): int: 1 +2266. IREMPOW2 (17 % 0x00000020): int: 17 +2267. IREMPOW2 (17 % 0x00000040): int: 17 +2268. IREMPOW2 (17 % 0x00000080): int: 17 +2269. IREMPOW2 (17 % 0x00000100): int: 17 +2270. IREMPOW2 (17 % 0x00000200): int: 17 +2271. IREMPOW2 (17 % 0x00000400): int: 17 +2272. IREMPOW2 (17 % 0x00000800): int: 17 +2273. IREMPOW2 (17 % 0x00001000): int: 17 +2274. IREMPOW2 (17 % 0x00002000): int: 17 +2275. IREMPOW2 (17 % 0x00004000): int: 17 +2276. IREMPOW2 (17 % 0x00008000): int: 17 +2277. IREMPOW2 (17 % 0x00010000): int: 17 +2278. IREMPOW2 (17 % 0x00020000): int: 17 +2279. IREMPOW2 (17 % 0x00040000): int: 17 +2280. IREMPOW2 (17 % 0x00080000): int: 17 +2281. IREMPOW2 (17 % 0x00100000): int: 17 +2282. IREMPOW2 (17 % 0x00200000): int: 17 +2283. IREMPOW2 (17 % 0x00400000): int: 17 +2284. IREMPOW2 (17 % 0x00800000): int: 17 +2285. IREMPOW2 (17 % 0x01000000): int: 17 +2286. IREMPOW2 (17 % 0x02000000): int: 17 +2287. IREMPOW2 (17 % 0x04000000): int: 17 +2288. IREMPOW2 (17 % 0x08000000): int: 17 +2289. IREMPOW2 (17 % 0x10000000): int: 17 +2290. IREMPOW2 (17 % 0x20000000): int: 17 +2291. IREMPOW2 (17 % 0x40000000): int: 17 +2292. IREMPOW2 (17 % 0x80000000): int: 17 +2293. IDIVPOW2 (12347 / 0x00000002): int: 6173 +2294. IDIVPOW2 (12347 / 0x00000004): int: 3086 +2295. IDIVPOW2 (12347 / 0x00000008): int: 1543 +2296. IDIVPOW2 (12347 / 0x00000010): int: 771 +2297. IDIVPOW2 (12347 / 0x00000020): int: 385 +2298. IDIVPOW2 (12347 / 0x00000040): int: 192 +2299. IDIVPOW2 (12347 / 0x00000080): int: 96 +2300. IDIVPOW2 (12347 / 0x00000100): int: 48 +2301. IDIVPOW2 (12347 / 0x00000200): int: 24 +2302. IDIVPOW2 (12347 / 0x00000400): int: 12 +2303. IDIVPOW2 (12347 / 0x00000800): int: 6 +2304. IDIVPOW2 (12347 / 0x00001000): int: 3 +2305. IDIVPOW2 (12347 / 0x00002000): int: 1 +2306. IDIVPOW2 (12347 / 0x00004000): int: 0 +2307. IDIVPOW2 (12347 / 0x00008000): int: 0 +2308. IDIVPOW2 (12347 / 0x00010000): int: 0 +2309. IDIVPOW2 (12347 / 0x00020000): int: 0 +2310. IDIVPOW2 (12347 / 0x00040000): int: 0 +2311. IDIVPOW2 (12347 / 0x00080000): int: 0 +2312. IDIVPOW2 (12347 / 0x00100000): int: 0 +2313. IDIVPOW2 (12347 / 0x00200000): int: 0 +2314. IDIVPOW2 (12347 / 0x00400000): int: 0 +2315. IDIVPOW2 (12347 / 0x00800000): int: 0 +2316. IDIVPOW2 (12347 / 0x01000000): int: 0 +2317. IDIVPOW2 (12347 / 0x02000000): int: 0 +2318. IDIVPOW2 (12347 / 0x04000000): int: 0 +2319. IDIVPOW2 (12347 / 0x08000000): int: 0 +2320. IDIVPOW2 (12347 / 0x10000000): int: 0 +2321. IDIVPOW2 (12347 / 0x20000000): int: 0 +2322. IDIVPOW2 (12347 / 0x40000000): int: 0 +2323. IDIVPOW2 (12347 / 0x80000000): int: 0 +2324. IREMPOW2 (12347 % 0x00000002): int: 1 +2325. IREMPOW2 (12347 % 0x00000004): int: 3 +2326. IREMPOW2 (12347 % 0x00000008): int: 3 +2327. IREMPOW2 (12347 % 0x00000010): int: 11 +2328. IREMPOW2 (12347 % 0x00000020): int: 27 +2329. IREMPOW2 (12347 % 0x00000040): int: 59 +2330. IREMPOW2 (12347 % 0x00000080): int: 59 +2331. IREMPOW2 (12347 % 0x00000100): int: 59 +2332. IREMPOW2 (12347 % 0x00000200): int: 59 +2333. IREMPOW2 (12347 % 0x00000400): int: 59 +2334. IREMPOW2 (12347 % 0x00000800): int: 59 +2335. IREMPOW2 (12347 % 0x00001000): int: 59 +2336. IREMPOW2 (12347 % 0x00002000): int: 4155 +2337. IREMPOW2 (12347 % 0x00004000): int: 12347 +2338. IREMPOW2 (12347 % 0x00008000): int: 12347 +2339. IREMPOW2 (12347 % 0x00010000): int: 12347 +2340. IREMPOW2 (12347 % 0x00020000): int: 12347 +2341. IREMPOW2 (12347 % 0x00040000): int: 12347 +2342. IREMPOW2 (12347 % 0x00080000): int: 12347 +2343. IREMPOW2 (12347 % 0x00100000): int: 12347 +2344. IREMPOW2 (12347 % 0x00200000): int: 12347 +2345. IREMPOW2 (12347 % 0x00400000): int: 12347 +2346. IREMPOW2 (12347 % 0x00800000): int: 12347 +2347. IREMPOW2 (12347 % 0x01000000): int: 12347 +2348. IREMPOW2 (12347 % 0x02000000): int: 12347 +2349. IREMPOW2 (12347 % 0x04000000): int: 12347 +2350. IREMPOW2 (12347 % 0x08000000): int: 12347 +2351. IREMPOW2 (12347 % 0x10000000): int: 12347 +2352. IREMPOW2 (12347 % 0x20000000): int: 12347 +2353. IREMPOW2 (12347 % 0x40000000): int: 12347 +2354. IREMPOW2 (12347 % 0x80000000): int: 12347 +2355. IDIVPOW2 (8893427 / 0x00000002): int: 4446713 +2356. IDIVPOW2 (8893427 / 0x00000004): int: 2223356 +2357. IDIVPOW2 (8893427 / 0x00000008): int: 1111678 +2358. IDIVPOW2 (8893427 / 0x00000010): int: 555839 +2359. IDIVPOW2 (8893427 / 0x00000020): int: 277919 +2360. IDIVPOW2 (8893427 / 0x00000040): int: 138959 +2361. IDIVPOW2 (8893427 / 0x00000080): int: 69479 +2362. IDIVPOW2 (8893427 / 0x00000100): int: 34739 +2363. IDIVPOW2 (8893427 / 0x00000200): int: 17369 +2364. IDIVPOW2 (8893427 / 0x00000400): int: 8684 +2365. IDIVPOW2 (8893427 / 0x00000800): int: 4342 +2366. IDIVPOW2 (8893427 / 0x00001000): int: 2171 +2367. IDIVPOW2 (8893427 / 0x00002000): int: 1085 +2368. IDIVPOW2 (8893427 / 0x00004000): int: 542 +2369. IDIVPOW2 (8893427 / 0x00008000): int: 271 +2370. IDIVPOW2 (8893427 / 0x00010000): int: 135 +2371. IDIVPOW2 (8893427 / 0x00020000): int: 67 +2372. IDIVPOW2 (8893427 / 0x00040000): int: 33 +2373. IDIVPOW2 (8893427 / 0x00080000): int: 16 +2374. IDIVPOW2 (8893427 / 0x00100000): int: 8 +2375. IDIVPOW2 (8893427 / 0x00200000): int: 4 +2376. IDIVPOW2 (8893427 / 0x00400000): int: 2 +2377. IDIVPOW2 (8893427 / 0x00800000): int: 1 +2378. IDIVPOW2 (8893427 / 0x01000000): int: 0 +2379. IDIVPOW2 (8893427 / 0x02000000): int: 0 +2380. IDIVPOW2 (8893427 / 0x04000000): int: 0 +2381. IDIVPOW2 (8893427 / 0x08000000): int: 0 +2382. IDIVPOW2 (8893427 / 0x10000000): int: 0 +2383. IDIVPOW2 (8893427 / 0x20000000): int: 0 +2384. IDIVPOW2 (8893427 / 0x40000000): int: 0 +2385. IDIVPOW2 (8893427 / 0x80000000): int: 0 +2386. IREMPOW2 (8893427 % 0x00000002): int: 1 +2387. IREMPOW2 (8893427 % 0x00000004): int: 3 +2388. IREMPOW2 (8893427 % 0x00000008): int: 3 +2389. IREMPOW2 (8893427 % 0x00000010): int: 3 +2390. IREMPOW2 (8893427 % 0x00000020): int: 19 +2391. IREMPOW2 (8893427 % 0x00000040): int: 51 +2392. IREMPOW2 (8893427 % 0x00000080): int: 115 +2393. IREMPOW2 (8893427 % 0x00000100): int: 243 +2394. IREMPOW2 (8893427 % 0x00000200): int: 499 +2395. IREMPOW2 (8893427 % 0x00000400): int: 1011 +2396. IREMPOW2 (8893427 % 0x00000800): int: 1011 +2397. IREMPOW2 (8893427 % 0x00001000): int: 1011 +2398. IREMPOW2 (8893427 % 0x00002000): int: 5107 +2399. IREMPOW2 (8893427 % 0x00004000): int: 13299 +2400. IREMPOW2 (8893427 % 0x00008000): int: 13299 +2401. IREMPOW2 (8893427 % 0x00010000): int: 46067 +2402. IREMPOW2 (8893427 % 0x00020000): int: 111603 +2403. IREMPOW2 (8893427 % 0x00040000): int: 242675 +2404. IREMPOW2 (8893427 % 0x00080000): int: 504819 +2405. IREMPOW2 (8893427 % 0x00100000): int: 504819 +2406. IREMPOW2 (8893427 % 0x00200000): int: 504819 +2407. IREMPOW2 (8893427 % 0x00400000): int: 504819 +2408. IREMPOW2 (8893427 % 0x00800000): int: 504819 +2409. IREMPOW2 (8893427 % 0x01000000): int: 8893427 +2410. IREMPOW2 (8893427 % 0x02000000): int: 8893427 +2411. IREMPOW2 (8893427 % 0x04000000): int: 8893427 +2412. IREMPOW2 (8893427 % 0x08000000): int: 8893427 +2413. IREMPOW2 (8893427 % 0x10000000): int: 8893427 +2414. IREMPOW2 (8893427 % 0x20000000): int: 8893427 +2415. IREMPOW2 (8893427 % 0x40000000): int: 8893427 +2416. IREMPOW2 (8893427 % 0x80000000): int: 8893427 +2417. IDIVPOW2 (1005234562 / 0x00000002): int: 502617281 +2418. IDIVPOW2 (1005234562 / 0x00000004): int: 251308640 +2419. IDIVPOW2 (1005234562 / 0x00000008): int: 125654320 +2420. IDIVPOW2 (1005234562 / 0x00000010): int: 62827160 +2421. IDIVPOW2 (1005234562 / 0x00000020): int: 31413580 +2422. IDIVPOW2 (1005234562 / 0x00000040): int: 15706790 +2423. IDIVPOW2 (1005234562 / 0x00000080): int: 7853395 +2424. IDIVPOW2 (1005234562 / 0x00000100): int: 3926697 +2425. IDIVPOW2 (1005234562 / 0x00000200): int: 1963348 +2426. IDIVPOW2 (1005234562 / 0x00000400): int: 981674 +2427. IDIVPOW2 (1005234562 / 0x00000800): int: 490837 +2428. IDIVPOW2 (1005234562 / 0x00001000): int: 245418 +2429. IDIVPOW2 (1005234562 / 0x00002000): int: 122709 +2430. IDIVPOW2 (1005234562 / 0x00004000): int: 61354 +2431. IDIVPOW2 (1005234562 / 0x00008000): int: 30677 +2432. IDIVPOW2 (1005234562 / 0x00010000): int: 15338 +2433. IDIVPOW2 (1005234562 / 0x00020000): int: 7669 +2434. IDIVPOW2 (1005234562 / 0x00040000): int: 3834 +2435. IDIVPOW2 (1005234562 / 0x00080000): int: 1917 +2436. IDIVPOW2 (1005234562 / 0x00100000): int: 958 +2437. IDIVPOW2 (1005234562 / 0x00200000): int: 479 +2438. IDIVPOW2 (1005234562 / 0x00400000): int: 239 +2439. IDIVPOW2 (1005234562 / 0x00800000): int: 119 +2440. IDIVPOW2 (1005234562 / 0x01000000): int: 59 +2441. IDIVPOW2 (1005234562 / 0x02000000): int: 29 +2442. IDIVPOW2 (1005234562 / 0x04000000): int: 14 +2443. IDIVPOW2 (1005234562 / 0x08000000): int: 7 +2444. IDIVPOW2 (1005234562 / 0x10000000): int: 3 +2445. IDIVPOW2 (1005234562 / 0x20000000): int: 1 +2446. IDIVPOW2 (1005234562 / 0x40000000): int: 0 +2447. IDIVPOW2 (1005234562 / 0x80000000): int: 0 +2448. IREMPOW2 (1005234562 % 0x00000002): int: 0 +2449. IREMPOW2 (1005234562 % 0x00000004): int: 2 +2450. IREMPOW2 (1005234562 % 0x00000008): int: 2 +2451. IREMPOW2 (1005234562 % 0x00000010): int: 2 +2452. IREMPOW2 (1005234562 % 0x00000020): int: 2 +2453. IREMPOW2 (1005234562 % 0x00000040): int: 2 +2454. IREMPOW2 (1005234562 % 0x00000080): int: 2 +2455. IREMPOW2 (1005234562 % 0x00000100): int: 130 +2456. IREMPOW2 (1005234562 % 0x00000200): int: 386 +2457. IREMPOW2 (1005234562 % 0x00000400): int: 386 +2458. IREMPOW2 (1005234562 % 0x00000800): int: 386 +2459. IREMPOW2 (1005234562 % 0x00001000): int: 2434 +2460. IREMPOW2 (1005234562 % 0x00002000): int: 2434 +2461. IREMPOW2 (1005234562 % 0x00004000): int: 10626 +2462. IREMPOW2 (1005234562 % 0x00008000): int: 10626 +2463. IREMPOW2 (1005234562 % 0x00010000): int: 43394 +2464. IREMPOW2 (1005234562 % 0x00020000): int: 43394 +2465. IREMPOW2 (1005234562 % 0x00040000): int: 174466 +2466. IREMPOW2 (1005234562 % 0x00080000): int: 174466 +2467. IREMPOW2 (1005234562 % 0x00100000): int: 698754 +2468. IREMPOW2 (1005234562 % 0x00200000): int: 698754 +2469. IREMPOW2 (1005234562 % 0x00400000): int: 2795906 +2470. IREMPOW2 (1005234562 % 0x00800000): int: 6990210 +2471. IREMPOW2 (1005234562 % 0x01000000): int: 15378818 +2472. IREMPOW2 (1005234562 % 0x02000000): int: 32156034 +2473. IREMPOW2 (1005234562 % 0x04000000): int: 65710466 +2474. IREMPOW2 (1005234562 % 0x08000000): int: 65710466 +2475. IREMPOW2 (1005234562 % 0x10000000): int: 199928194 +2476. IREMPOW2 (1005234562 % 0x20000000): int: 468363650 +2477. IREMPOW2 (1005234562 % 0x40000000): int: 1005234562 +2478. IREMPOW2 (1005234562 % 0x80000000): int: 1005234562 +2479. IDIVPOW2 (-17 / 0x00000002): int: -8 +2480. IDIVPOW2 (-17 / 0x00000004): int: -4 +2481. IDIVPOW2 (-17 / 0x00000008): int: -2 +2482. IDIVPOW2 (-17 / 0x00000010): int: -1 +2483. IDIVPOW2 (-17 / 0x00000020): int: 0 +2484. IDIVPOW2 (-17 / 0x00000040): int: 0 +2485. IDIVPOW2 (-17 / 0x00000080): int: 0 +2486. IDIVPOW2 (-17 / 0x00000100): int: 0 +2487. IDIVPOW2 (-17 / 0x00000200): int: 0 +2488. IDIVPOW2 (-17 / 0x00000400): int: 0 +2489. IDIVPOW2 (-17 / 0x00000800): int: 0 +2490. IDIVPOW2 (-17 / 0x00001000): int: 0 +2491. IDIVPOW2 (-17 / 0x00002000): int: 0 +2492. IDIVPOW2 (-17 / 0x00004000): int: 0 +2493. IDIVPOW2 (-17 / 0x00008000): int: 0 +2494. IDIVPOW2 (-17 / 0x00010000): int: 0 +2495. IDIVPOW2 (-17 / 0x00020000): int: 0 +2496. IDIVPOW2 (-17 / 0x00040000): int: 0 +2497. IDIVPOW2 (-17 / 0x00080000): int: 0 +2498. IDIVPOW2 (-17 / 0x00100000): int: 0 +2499. IDIVPOW2 (-17 / 0x00200000): int: 0 +2500. IDIVPOW2 (-17 / 0x00400000): int: 0 +2501. IDIVPOW2 (-17 / 0x00800000): int: 0 +2502. IDIVPOW2 (-17 / 0x01000000): int: 0 +2503. IDIVPOW2 (-17 / 0x02000000): int: 0 +2504. IDIVPOW2 (-17 / 0x04000000): int: 0 +2505. IDIVPOW2 (-17 / 0x08000000): int: 0 +2506. IDIVPOW2 (-17 / 0x10000000): int: 0 +2507. IDIVPOW2 (-17 / 0x20000000): int: 0 +2508. IDIVPOW2 (-17 / 0x40000000): int: 0 +2509. IDIVPOW2 (-17 / 0x80000000): int: 0 +2510. IREMPOW2 (-17 % 0x00000002): int: -1 +2511. IREMPOW2 (-17 % 0x00000004): int: -1 +2512. IREMPOW2 (-17 % 0x00000008): int: -1 +2513. IREMPOW2 (-17 % 0x00000010): int: -1 +2514. IREMPOW2 (-17 % 0x00000020): int: -17 +2515. IREMPOW2 (-17 % 0x00000040): int: -17 +2516. IREMPOW2 (-17 % 0x00000080): int: -17 +2517. IREMPOW2 (-17 % 0x00000100): int: -17 +2518. IREMPOW2 (-17 % 0x00000200): int: -17 +2519. IREMPOW2 (-17 % 0x00000400): int: -17 +2520. IREMPOW2 (-17 % 0x00000800): int: -17 +2521. IREMPOW2 (-17 % 0x00001000): int: -17 +2522. IREMPOW2 (-17 % 0x00002000): int: -17 +2523. IREMPOW2 (-17 % 0x00004000): int: -17 +2524. IREMPOW2 (-17 % 0x00008000): int: -17 +2525. IREMPOW2 (-17 % 0x00010000): int: -17 +2526. IREMPOW2 (-17 % 0x00020000): int: -17 +2527. IREMPOW2 (-17 % 0x00040000): int: -17 +2528. IREMPOW2 (-17 % 0x00080000): int: -17 +2529. IREMPOW2 (-17 % 0x00100000): int: -17 +2530. IREMPOW2 (-17 % 0x00200000): int: -17 +2531. IREMPOW2 (-17 % 0x00400000): int: -17 +2532. IREMPOW2 (-17 % 0x00800000): int: -17 +2533. IREMPOW2 (-17 % 0x01000000): int: -17 +2534. IREMPOW2 (-17 % 0x02000000): int: -17 +2535. IREMPOW2 (-17 % 0x04000000): int: -17 +2536. IREMPOW2 (-17 % 0x08000000): int: -17 +2537. IREMPOW2 (-17 % 0x10000000): int: -17 +2538. IREMPOW2 (-17 % 0x20000000): int: -17 +2539. IREMPOW2 (-17 % 0x40000000): int: -17 +2540. IREMPOW2 (-17 % 0x80000000): int: -17 +2541. IDIVPOW2 (-12347 / 0x00000002): int: -6173 +2542. IDIVPOW2 (-12347 / 0x00000004): int: -3086 +2543. IDIVPOW2 (-12347 / 0x00000008): int: -1543 +2544. IDIVPOW2 (-12347 / 0x00000010): int: -771 +2545. IDIVPOW2 (-12347 / 0x00000020): int: -385 +2546. IDIVPOW2 (-12347 / 0x00000040): int: -192 +2547. IDIVPOW2 (-12347 / 0x00000080): int: -96 +2548. IDIVPOW2 (-12347 / 0x00000100): int: -48 +2549. IDIVPOW2 (-12347 / 0x00000200): int: -24 +2550. IDIVPOW2 (-12347 / 0x00000400): int: -12 +2551. IDIVPOW2 (-12347 / 0x00000800): int: -6 +2552. IDIVPOW2 (-12347 / 0x00001000): int: -3 +2553. IDIVPOW2 (-12347 / 0x00002000): int: -1 +2554. IDIVPOW2 (-12347 / 0x00004000): int: 0 +2555. IDIVPOW2 (-12347 / 0x00008000): int: 0 +2556. IDIVPOW2 (-12347 / 0x00010000): int: 0 +2557. IDIVPOW2 (-12347 / 0x00020000): int: 0 +2558. IDIVPOW2 (-12347 / 0x00040000): int: 0 +2559. IDIVPOW2 (-12347 / 0x00080000): int: 0 +2560. IDIVPOW2 (-12347 / 0x00100000): int: 0 +2561. IDIVPOW2 (-12347 / 0x00200000): int: 0 +2562. IDIVPOW2 (-12347 / 0x00400000): int: 0 +2563. IDIVPOW2 (-12347 / 0x00800000): int: 0 +2564. IDIVPOW2 (-12347 / 0x01000000): int: 0 +2565. IDIVPOW2 (-12347 / 0x02000000): int: 0 +2566. IDIVPOW2 (-12347 / 0x04000000): int: 0 +2567. IDIVPOW2 (-12347 / 0x08000000): int: 0 +2568. IDIVPOW2 (-12347 / 0x10000000): int: 0 +2569. IDIVPOW2 (-12347 / 0x20000000): int: 0 +2570. IDIVPOW2 (-12347 / 0x40000000): int: 0 +2571. IDIVPOW2 (-12347 / 0x80000000): int: 0 +2572. IREMPOW2 (-12347 % 0x00000002): int: -1 +2573. IREMPOW2 (-12347 % 0x00000004): int: -3 +2574. IREMPOW2 (-12347 % 0x00000008): int: -3 +2575. IREMPOW2 (-12347 % 0x00000010): int: -11 +2576. IREMPOW2 (-12347 % 0x00000020): int: -27 +2577. IREMPOW2 (-12347 % 0x00000040): int: -59 +2578. IREMPOW2 (-12347 % 0x00000080): int: -59 +2579. IREMPOW2 (-12347 % 0x00000100): int: -59 +2580. IREMPOW2 (-12347 % 0x00000200): int: -59 +2581. IREMPOW2 (-12347 % 0x00000400): int: -59 +2582. IREMPOW2 (-12347 % 0x00000800): int: -59 +2583. IREMPOW2 (-12347 % 0x00001000): int: -59 +2584. IREMPOW2 (-12347 % 0x00002000): int: -4155 +2585. IREMPOW2 (-12347 % 0x00004000): int: -12347 +2586. IREMPOW2 (-12347 % 0x00008000): int: -12347 +2587. IREMPOW2 (-12347 % 0x00010000): int: -12347 +2588. IREMPOW2 (-12347 % 0x00020000): int: -12347 +2589. IREMPOW2 (-12347 % 0x00040000): int: -12347 +2590. IREMPOW2 (-12347 % 0x00080000): int: -12347 +2591. IREMPOW2 (-12347 % 0x00100000): int: -12347 +2592. IREMPOW2 (-12347 % 0x00200000): int: -12347 +2593. IREMPOW2 (-12347 % 0x00400000): int: -12347 +2594. IREMPOW2 (-12347 % 0x00800000): int: -12347 +2595. IREMPOW2 (-12347 % 0x01000000): int: -12347 +2596. IREMPOW2 (-12347 % 0x02000000): int: -12347 +2597. IREMPOW2 (-12347 % 0x04000000): int: -12347 +2598. IREMPOW2 (-12347 % 0x08000000): int: -12347 +2599. IREMPOW2 (-12347 % 0x10000000): int: -12347 +2600. IREMPOW2 (-12347 % 0x20000000): int: -12347 +2601. IREMPOW2 (-12347 % 0x40000000): int: -12347 +2602. IREMPOW2 (-12347 % 0x80000000): int: -12347 +2603. IDIVPOW2 (-8893427 / 0x00000002): int: -4446713 +2604. IDIVPOW2 (-8893427 / 0x00000004): int: -2223356 +2605. IDIVPOW2 (-8893427 / 0x00000008): int: -1111678 +2606. IDIVPOW2 (-8893427 / 0x00000010): int: -555839 +2607. IDIVPOW2 (-8893427 / 0x00000020): int: -277919 +2608. IDIVPOW2 (-8893427 / 0x00000040): int: -138959 +2609. IDIVPOW2 (-8893427 / 0x00000080): int: -69479 +2610. IDIVPOW2 (-8893427 / 0x00000100): int: -34739 +2611. IDIVPOW2 (-8893427 / 0x00000200): int: -17369 +2612. IDIVPOW2 (-8893427 / 0x00000400): int: -8684 +2613. IDIVPOW2 (-8893427 / 0x00000800): int: -4342 +2614. IDIVPOW2 (-8893427 / 0x00001000): int: -2171 +2615. IDIVPOW2 (-8893427 / 0x00002000): int: -1085 +2616. IDIVPOW2 (-8893427 / 0x00004000): int: -542 +2617. IDIVPOW2 (-8893427 / 0x00008000): int: -271 +2618. IDIVPOW2 (-8893427 / 0x00010000): int: -135 +2619. IDIVPOW2 (-8893427 / 0x00020000): int: -67 +2620. IDIVPOW2 (-8893427 / 0x00040000): int: -33 +2621. IDIVPOW2 (-8893427 / 0x00080000): int: -16 +2622. IDIVPOW2 (-8893427 / 0x00100000): int: -8 +2623. IDIVPOW2 (-8893427 / 0x00200000): int: -4 +2624. IDIVPOW2 (-8893427 / 0x00400000): int: -2 +2625. IDIVPOW2 (-8893427 / 0x00800000): int: -1 +2626. IDIVPOW2 (-8893427 / 0x01000000): int: 0 +2627. IDIVPOW2 (-8893427 / 0x02000000): int: 0 +2628. IDIVPOW2 (-8893427 / 0x04000000): int: 0 +2629. IDIVPOW2 (-8893427 / 0x08000000): int: 0 +2630. IDIVPOW2 (-8893427 / 0x10000000): int: 0 +2631. IDIVPOW2 (-8893427 / 0x20000000): int: 0 +2632. IDIVPOW2 (-8893427 / 0x40000000): int: 0 +2633. IDIVPOW2 (-8893427 / 0x80000000): int: 0 +2634. IREMPOW2 (-8893427 % 0x00000002): int: -1 +2635. IREMPOW2 (-8893427 % 0x00000004): int: -3 +2636. IREMPOW2 (-8893427 % 0x00000008): int: -3 +2637. IREMPOW2 (-8893427 % 0x00000010): int: -3 +2638. IREMPOW2 (-8893427 % 0x00000020): int: -19 +2639. IREMPOW2 (-8893427 % 0x00000040): int: -51 +2640. IREMPOW2 (-8893427 % 0x00000080): int: -115 +2641. IREMPOW2 (-8893427 % 0x00000100): int: -243 +2642. IREMPOW2 (-8893427 % 0x00000200): int: -499 +2643. IREMPOW2 (-8893427 % 0x00000400): int: -1011 +2644. IREMPOW2 (-8893427 % 0x00000800): int: -1011 +2645. IREMPOW2 (-8893427 % 0x00001000): int: -1011 +2646. IREMPOW2 (-8893427 % 0x00002000): int: -5107 +2647. IREMPOW2 (-8893427 % 0x00004000): int: -13299 +2648. IREMPOW2 (-8893427 % 0x00008000): int: -13299 +2649. IREMPOW2 (-8893427 % 0x00010000): int: -46067 +2650. IREMPOW2 (-8893427 % 0x00020000): int: -111603 +2651. IREMPOW2 (-8893427 % 0x00040000): int: -242675 +2652. IREMPOW2 (-8893427 % 0x00080000): int: -504819 +2653. IREMPOW2 (-8893427 % 0x00100000): int: -504819 +2654. IREMPOW2 (-8893427 % 0x00200000): int: -504819 +2655. IREMPOW2 (-8893427 % 0x00400000): int: -504819 +2656. IREMPOW2 (-8893427 % 0x00800000): int: -504819 +2657. IREMPOW2 (-8893427 % 0x01000000): int: -8893427 +2658. IREMPOW2 (-8893427 % 0x02000000): int: -8893427 +2659. IREMPOW2 (-8893427 % 0x04000000): int: -8893427 +2660. IREMPOW2 (-8893427 % 0x08000000): int: -8893427 +2661. IREMPOW2 (-8893427 % 0x10000000): int: -8893427 +2662. IREMPOW2 (-8893427 % 0x20000000): int: -8893427 +2663. IREMPOW2 (-8893427 % 0x40000000): int: -8893427 +2664. IREMPOW2 (-8893427 % 0x80000000): int: -8893427 +2665. IDIVPOW2 (-1005234562 / 0x00000002): int: -502617281 +2666. IDIVPOW2 (-1005234562 / 0x00000004): int: -251308640 +2667. IDIVPOW2 (-1005234562 / 0x00000008): int: -125654320 +2668. IDIVPOW2 (-1005234562 / 0x00000010): int: -62827160 +2669. IDIVPOW2 (-1005234562 / 0x00000020): int: -31413580 +2670. IDIVPOW2 (-1005234562 / 0x00000040): int: -15706790 +2671. IDIVPOW2 (-1005234562 / 0x00000080): int: -7853395 +2672. IDIVPOW2 (-1005234562 / 0x00000100): int: -3926697 +2673. IDIVPOW2 (-1005234562 / 0x00000200): int: -1963348 +2674. IDIVPOW2 (-1005234562 / 0x00000400): int: -981674 +2675. IDIVPOW2 (-1005234562 / 0x00000800): int: -490837 +2676. IDIVPOW2 (-1005234562 / 0x00001000): int: -245418 +2677. IDIVPOW2 (-1005234562 / 0x00002000): int: -122709 +2678. IDIVPOW2 (-1005234562 / 0x00004000): int: -61354 +2679. IDIVPOW2 (-1005234562 / 0x00008000): int: -30677 +2680. IDIVPOW2 (-1005234562 / 0x00010000): int: -15338 +2681. IDIVPOW2 (-1005234562 / 0x00020000): int: -7669 +2682. IDIVPOW2 (-1005234562 / 0x00040000): int: -3834 +2683. IDIVPOW2 (-1005234562 / 0x00080000): int: -1917 +2684. IDIVPOW2 (-1005234562 / 0x00100000): int: -958 +2685. IDIVPOW2 (-1005234562 / 0x00200000): int: -479 +2686. IDIVPOW2 (-1005234562 / 0x00400000): int: -239 +2687. IDIVPOW2 (-1005234562 / 0x00800000): int: -119 +2688. IDIVPOW2 (-1005234562 / 0x01000000): int: -59 +2689. IDIVPOW2 (-1005234562 / 0x02000000): int: -29 +2690. IDIVPOW2 (-1005234562 / 0x04000000): int: -14 +2691. IDIVPOW2 (-1005234562 / 0x08000000): int: -7 +2692. IDIVPOW2 (-1005234562 / 0x10000000): int: -3 +2693. IDIVPOW2 (-1005234562 / 0x20000000): int: -1 +2694. IDIVPOW2 (-1005234562 / 0x40000000): int: 0 +2695. IDIVPOW2 (-1005234562 / 0x80000000): int: 0 +2696. IREMPOW2 (-1005234562 % 0x00000002): int: 0 +2697. IREMPOW2 (-1005234562 % 0x00000004): int: -2 +2698. IREMPOW2 (-1005234562 % 0x00000008): int: -2 +2699. IREMPOW2 (-1005234562 % 0x00000010): int: -2 +2700. IREMPOW2 (-1005234562 % 0x00000020): int: -2 +2701. IREMPOW2 (-1005234562 % 0x00000040): int: -2 +2702. IREMPOW2 (-1005234562 % 0x00000080): int: -2 +2703. IREMPOW2 (-1005234562 % 0x00000100): int: -130 +2704. IREMPOW2 (-1005234562 % 0x00000200): int: -386 +2705. IREMPOW2 (-1005234562 % 0x00000400): int: -386 +2706. IREMPOW2 (-1005234562 % 0x00000800): int: -386 +2707. IREMPOW2 (-1005234562 % 0x00001000): int: -2434 +2708. IREMPOW2 (-1005234562 % 0x00002000): int: -2434 +2709. IREMPOW2 (-1005234562 % 0x00004000): int: -10626 +2710. IREMPOW2 (-1005234562 % 0x00008000): int: -10626 +2711. IREMPOW2 (-1005234562 % 0x00010000): int: -43394 +2712. IREMPOW2 (-1005234562 % 0x00020000): int: -43394 +2713. IREMPOW2 (-1005234562 % 0x00040000): int: -174466 +2714. IREMPOW2 (-1005234562 % 0x00080000): int: -174466 +2715. IREMPOW2 (-1005234562 % 0x00100000): int: -698754 +2716. IREMPOW2 (-1005234562 % 0x00200000): int: -698754 +2717. IREMPOW2 (-1005234562 % 0x00400000): int: -2795906 +2718. IREMPOW2 (-1005234562 % 0x00800000): int: -6990210 +2719. IREMPOW2 (-1005234562 % 0x01000000): int: -15378818 +2720. IREMPOW2 (-1005234562 % 0x02000000): int: -32156034 +2721. IREMPOW2 (-1005234562 % 0x04000000): int: -65710466 +2722. IREMPOW2 (-1005234562 % 0x08000000): int: -65710466 +2723. IREMPOW2 (-1005234562 % 0x10000000): int: -199928194 +2724. IREMPOW2 (-1005234562 % 0x20000000): int: -468363650 +2725. IREMPOW2 (-1005234562 % 0x40000000): int: -1005234562 +2726. IREMPOW2 (-1005234562 % 0x80000000): int: -1005234562 +2727. LDIVPOW2 (17 / 0x00000002): long: 8 +2728. LDIVPOW2 (17 / 0x00000004): long: 4 +2729. LDIVPOW2 (17 / 0x00000008): long: 2 +2730. LDIVPOW2 (17 / 0x00000010): long: 1 +2731. LDIVPOW2 (17 / 0x00000020): long: 0 +2732. LDIVPOW2 (17 / 0x00000040): long: 0 +2733. LDIVPOW2 (17 / 0x00000080): long: 0 +2734. LDIVPOW2 (17 / 0x00000100): long: 0 +2735. LDIVPOW2 (17 / 0x00000200): long: 0 +2736. LDIVPOW2 (17 / 0x00000400): long: 0 +2737. LDIVPOW2 (17 / 0x00000800): long: 0 +2738. LDIVPOW2 (17 / 0x00001000): long: 0 +2739. LDIVPOW2 (17 / 0x00002000): long: 0 +2740. LDIVPOW2 (17 / 0x00004000): long: 0 +2741. LDIVPOW2 (17 / 0x00008000): long: 0 +2742. LDIVPOW2 (17 / 0x00010000): long: 0 +2743. LDIVPOW2 (17 / 0x00020000): long: 0 +2744. LDIVPOW2 (17 / 0x00040000): long: 0 +2745. LDIVPOW2 (17 / 0x00080000): long: 0 +2746. LDIVPOW2 (17 / 0x00100000): long: 0 +2747. LDIVPOW2 (17 / 0x00200000): long: 0 +2748. LDIVPOW2 (17 / 0x00400000): long: 0 +2749. LDIVPOW2 (17 / 0x00800000): long: 0 +2750. LDIVPOW2 (17 / 0x01000000): long: 0 +2751. LDIVPOW2 (17 / 0x02000000): long: 0 +2752. LDIVPOW2 (17 / 0x04000000): long: 0 +2753. LDIVPOW2 (17 / 0x08000000): long: 0 +2754. LDIVPOW2 (17 / 0x10000000): long: 0 +2755. LDIVPOW2 (17 / 0x20000000): long: 0 +2756. LDIVPOW2 (17 / 0x40000000): long: 0 +2757. LDIVPOW2 (17 / 0x80000000): long: 0 +2758. LREMPOW2 (17 % 0x00000002): long: 1 +2759. LREMPOW2 (17 % 0x00000004): long: 1 +2760. LREMPOW2 (17 % 0x00000008): long: 1 +2761. LREMPOW2 (17 % 0x00000010): long: 1 +2762. LREMPOW2 (17 % 0x00000020): long: 17 +2763. LREMPOW2 (17 % 0x00000040): long: 17 +2764. LREMPOW2 (17 % 0x00000080): long: 17 +2765. LREMPOW2 (17 % 0x00000100): long: 17 +2766. LREMPOW2 (17 % 0x00000200): long: 17 +2767. LREMPOW2 (17 % 0x00000400): long: 17 +2768. LREMPOW2 (17 % 0x00000800): long: 17 +2769. LREMPOW2 (17 % 0x00001000): long: 17 +2770. LREMPOW2 (17 % 0x00002000): long: 17 +2771. LREMPOW2 (17 % 0x00004000): long: 17 +2772. LREMPOW2 (17 % 0x00008000): long: 17 +2773. LREMPOW2 (17 % 0x00010000): long: 17 +2774. LREMPOW2 (17 % 0x00020000): long: 17 +2775. LREMPOW2 (17 % 0x00040000): long: 17 +2776. LREMPOW2 (17 % 0x00080000): long: 17 +2777. LREMPOW2 (17 % 0x00100000): long: 17 +2778. LREMPOW2 (17 % 0x00200000): long: 17 +2779. LREMPOW2 (17 % 0x00400000): long: 17 +2780. LREMPOW2 (17 % 0x00800000): long: 17 +2781. LREMPOW2 (17 % 0x01000000): long: 17 +2782. LREMPOW2 (17 % 0x02000000): long: 17 +2783. LREMPOW2 (17 % 0x04000000): long: 17 +2784. LREMPOW2 (17 % 0x08000000): long: 17 +2785. LREMPOW2 (17 % 0x10000000): long: 17 +2786. LREMPOW2 (17 % 0x20000000): long: 17 +2787. LREMPOW2 (17 % 0x40000000): long: 17 +2788. LREMPOW2 (17 % 0x80000000): long: 17 +2789. LDIVPOW2 (12347 / 0x00000002): long: 6173 +2790. LDIVPOW2 (12347 / 0x00000004): long: 3086 +2791. LDIVPOW2 (12347 / 0x00000008): long: 1543 +2792. LDIVPOW2 (12347 / 0x00000010): long: 771 +2793. LDIVPOW2 (12347 / 0x00000020): long: 385 +2794. LDIVPOW2 (12347 / 0x00000040): long: 192 +2795. LDIVPOW2 (12347 / 0x00000080): long: 96 +2796. LDIVPOW2 (12347 / 0x00000100): long: 48 +2797. LDIVPOW2 (12347 / 0x00000200): long: 24 +2798. LDIVPOW2 (12347 / 0x00000400): long: 12 +2799. LDIVPOW2 (12347 / 0x00000800): long: 6 +2800. LDIVPOW2 (12347 / 0x00001000): long: 3 +2801. LDIVPOW2 (12347 / 0x00002000): long: 1 +2802. LDIVPOW2 (12347 / 0x00004000): long: 0 +2803. LDIVPOW2 (12347 / 0x00008000): long: 0 +2804. LDIVPOW2 (12347 / 0x00010000): long: 0 +2805. LDIVPOW2 (12347 / 0x00020000): long: 0 +2806. LDIVPOW2 (12347 / 0x00040000): long: 0 +2807. LDIVPOW2 (12347 / 0x00080000): long: 0 +2808. LDIVPOW2 (12347 / 0x00100000): long: 0 +2809. LDIVPOW2 (12347 / 0x00200000): long: 0 +2810. LDIVPOW2 (12347 / 0x00400000): long: 0 +2811. LDIVPOW2 (12347 / 0x00800000): long: 0 +2812. LDIVPOW2 (12347 / 0x01000000): long: 0 +2813. LDIVPOW2 (12347 / 0x02000000): long: 0 +2814. LDIVPOW2 (12347 / 0x04000000): long: 0 +2815. LDIVPOW2 (12347 / 0x08000000): long: 0 +2816. LDIVPOW2 (12347 / 0x10000000): long: 0 +2817. LDIVPOW2 (12347 / 0x20000000): long: 0 +2818. LDIVPOW2 (12347 / 0x40000000): long: 0 +2819. LDIVPOW2 (12347 / 0x80000000): long: 0 +2820. LREMPOW2 (12347 % 0x00000002): long: 1 +2821. LREMPOW2 (12347 % 0x00000004): long: 3 +2822. LREMPOW2 (12347 % 0x00000008): long: 3 +2823. LREMPOW2 (12347 % 0x00000010): long: 11 +2824. LREMPOW2 (12347 % 0x00000020): long: 27 +2825. LREMPOW2 (12347 % 0x00000040): long: 59 +2826. LREMPOW2 (12347 % 0x00000080): long: 59 +2827. LREMPOW2 (12347 % 0x00000100): long: 59 +2828. LREMPOW2 (12347 % 0x00000200): long: 59 +2829. LREMPOW2 (12347 % 0x00000400): long: 59 +2830. LREMPOW2 (12347 % 0x00000800): long: 59 +2831. LREMPOW2 (12347 % 0x00001000): long: 59 +2832. LREMPOW2 (12347 % 0x00002000): long: 4155 +2833. LREMPOW2 (12347 % 0x00004000): long: 12347 +2834. LREMPOW2 (12347 % 0x00008000): long: 12347 +2835. LREMPOW2 (12347 % 0x00010000): long: 12347 +2836. LREMPOW2 (12347 % 0x00020000): long: 12347 +2837. LREMPOW2 (12347 % 0x00040000): long: 12347 +2838. LREMPOW2 (12347 % 0x00080000): long: 12347 +2839. LREMPOW2 (12347 % 0x00100000): long: 12347 +2840. LREMPOW2 (12347 % 0x00200000): long: 12347 +2841. LREMPOW2 (12347 % 0x00400000): long: 12347 +2842. LREMPOW2 (12347 % 0x00800000): long: 12347 +2843. LREMPOW2 (12347 % 0x01000000): long: 12347 +2844. LREMPOW2 (12347 % 0x02000000): long: 12347 +2845. LREMPOW2 (12347 % 0x04000000): long: 12347 +2846. LREMPOW2 (12347 % 0x08000000): long: 12347 +2847. LREMPOW2 (12347 % 0x10000000): long: 12347 +2848. LREMPOW2 (12347 % 0x20000000): long: 12347 +2849. LREMPOW2 (12347 % 0x40000000): long: 12347 +2850. LREMPOW2 (12347 % 0x80000000): long: 12347 +2851. LDIVPOW2 (8893427 / 0x00000002): long: 4446713 +2852. LDIVPOW2 (8893427 / 0x00000004): long: 2223356 +2853. LDIVPOW2 (8893427 / 0x00000008): long: 1111678 +2854. LDIVPOW2 (8893427 / 0x00000010): long: 555839 +2855. LDIVPOW2 (8893427 / 0x00000020): long: 277919 +2856. LDIVPOW2 (8893427 / 0x00000040): long: 138959 +2857. LDIVPOW2 (8893427 / 0x00000080): long: 69479 +2858. LDIVPOW2 (8893427 / 0x00000100): long: 34739 +2859. LDIVPOW2 (8893427 / 0x00000200): long: 17369 +2860. LDIVPOW2 (8893427 / 0x00000400): long: 8684 +2861. LDIVPOW2 (8893427 / 0x00000800): long: 4342 +2862. LDIVPOW2 (8893427 / 0x00001000): long: 2171 +2863. LDIVPOW2 (8893427 / 0x00002000): long: 1085 +2864. LDIVPOW2 (8893427 / 0x00004000): long: 542 +2865. LDIVPOW2 (8893427 / 0x00008000): long: 271 +2866. LDIVPOW2 (8893427 / 0x00010000): long: 135 +2867. LDIVPOW2 (8893427 / 0x00020000): long: 67 +2868. LDIVPOW2 (8893427 / 0x00040000): long: 33 +2869. LDIVPOW2 (8893427 / 0x00080000): long: 16 +2870. LDIVPOW2 (8893427 / 0x00100000): long: 8 +2871. LDIVPOW2 (8893427 / 0x00200000): long: 4 +2872. LDIVPOW2 (8893427 / 0x00400000): long: 2 +2873. LDIVPOW2 (8893427 / 0x00800000): long: 1 +2874. LDIVPOW2 (8893427 / 0x01000000): long: 0 +2875. LDIVPOW2 (8893427 / 0x02000000): long: 0 +2876. LDIVPOW2 (8893427 / 0x04000000): long: 0 +2877. LDIVPOW2 (8893427 / 0x08000000): long: 0 +2878. LDIVPOW2 (8893427 / 0x10000000): long: 0 +2879. LDIVPOW2 (8893427 / 0x20000000): long: 0 +2880. LDIVPOW2 (8893427 / 0x40000000): long: 0 +2881. LDIVPOW2 (8893427 / 0x80000000): long: 0 +2882. LREMPOW2 (8893427 % 0x00000002): long: 1 +2883. LREMPOW2 (8893427 % 0x00000004): long: 3 +2884. LREMPOW2 (8893427 % 0x00000008): long: 3 +2885. LREMPOW2 (8893427 % 0x00000010): long: 3 +2886. LREMPOW2 (8893427 % 0x00000020): long: 19 +2887. LREMPOW2 (8893427 % 0x00000040): long: 51 +2888. LREMPOW2 (8893427 % 0x00000080): long: 115 +2889. LREMPOW2 (8893427 % 0x00000100): long: 243 +2890. LREMPOW2 (8893427 % 0x00000200): long: 499 +2891. LREMPOW2 (8893427 % 0x00000400): long: 1011 +2892. LREMPOW2 (8893427 % 0x00000800): long: 1011 +2893. LREMPOW2 (8893427 % 0x00001000): long: 1011 +2894. LREMPOW2 (8893427 % 0x00002000): long: 5107 +2895. LREMPOW2 (8893427 % 0x00004000): long: 13299 +2896. LREMPOW2 (8893427 % 0x00008000): long: 13299 +2897. LREMPOW2 (8893427 % 0x00010000): long: 46067 +2898. LREMPOW2 (8893427 % 0x00020000): long: 111603 +2899. LREMPOW2 (8893427 % 0x00040000): long: 242675 +2900. LREMPOW2 (8893427 % 0x00080000): long: 504819 +2901. LREMPOW2 (8893427 % 0x00100000): long: 504819 +2902. LREMPOW2 (8893427 % 0x00200000): long: 504819 +2903. LREMPOW2 (8893427 % 0x00400000): long: 504819 +2904. LREMPOW2 (8893427 % 0x00800000): long: 504819 +2905. LREMPOW2 (8893427 % 0x01000000): long: 8893427 +2906. LREMPOW2 (8893427 % 0x02000000): long: 8893427 +2907. LREMPOW2 (8893427 % 0x04000000): long: 8893427 +2908. LREMPOW2 (8893427 % 0x08000000): long: 8893427 +2909. LREMPOW2 (8893427 % 0x10000000): long: 8893427 +2910. LREMPOW2 (8893427 % 0x20000000): long: 8893427 +2911. LREMPOW2 (8893427 % 0x40000000): long: 8893427 +2912. LREMPOW2 (8893427 % 0x80000000): long: 8893427 +2913. LDIVPOW2 (1005234562 / 0x00000002): long: 502617281 +2914. LDIVPOW2 (1005234562 / 0x00000004): long: 251308640 +2915. LDIVPOW2 (1005234562 / 0x00000008): long: 125654320 +2916. LDIVPOW2 (1005234562 / 0x00000010): long: 62827160 +2917. LDIVPOW2 (1005234562 / 0x00000020): long: 31413580 +2918. LDIVPOW2 (1005234562 / 0x00000040): long: 15706790 +2919. LDIVPOW2 (1005234562 / 0x00000080): long: 7853395 +2920. LDIVPOW2 (1005234562 / 0x00000100): long: 3926697 +2921. LDIVPOW2 (1005234562 / 0x00000200): long: 1963348 +2922. LDIVPOW2 (1005234562 / 0x00000400): long: 981674 +2923. LDIVPOW2 (1005234562 / 0x00000800): long: 490837 +2924. LDIVPOW2 (1005234562 / 0x00001000): long: 245418 +2925. LDIVPOW2 (1005234562 / 0x00002000): long: 122709 +2926. LDIVPOW2 (1005234562 / 0x00004000): long: 61354 +2927. LDIVPOW2 (1005234562 / 0x00008000): long: 30677 +2928. LDIVPOW2 (1005234562 / 0x00010000): long: 15338 +2929. LDIVPOW2 (1005234562 / 0x00020000): long: 7669 +2930. LDIVPOW2 (1005234562 / 0x00040000): long: 3834 +2931. LDIVPOW2 (1005234562 / 0x00080000): long: 1917 +2932. LDIVPOW2 (1005234562 / 0x00100000): long: 958 +2933. LDIVPOW2 (1005234562 / 0x00200000): long: 479 +2934. LDIVPOW2 (1005234562 / 0x00400000): long: 239 +2935. LDIVPOW2 (1005234562 / 0x00800000): long: 119 +2936. LDIVPOW2 (1005234562 / 0x01000000): long: 59 +2937. LDIVPOW2 (1005234562 / 0x02000000): long: 29 +2938. LDIVPOW2 (1005234562 / 0x04000000): long: 14 +2939. LDIVPOW2 (1005234562 / 0x08000000): long: 7 +2940. LDIVPOW2 (1005234562 / 0x10000000): long: 3 +2941. LDIVPOW2 (1005234562 / 0x20000000): long: 1 +2942. LDIVPOW2 (1005234562 / 0x40000000): long: 0 +2943. LDIVPOW2 (1005234562 / 0x80000000): long: 0 +2944. LREMPOW2 (1005234562 % 0x00000002): long: 0 +2945. LREMPOW2 (1005234562 % 0x00000004): long: 2 +2946. LREMPOW2 (1005234562 % 0x00000008): long: 2 +2947. LREMPOW2 (1005234562 % 0x00000010): long: 2 +2948. LREMPOW2 (1005234562 % 0x00000020): long: 2 +2949. LREMPOW2 (1005234562 % 0x00000040): long: 2 +2950. LREMPOW2 (1005234562 % 0x00000080): long: 2 +2951. LREMPOW2 (1005234562 % 0x00000100): long: 130 +2952. LREMPOW2 (1005234562 % 0x00000200): long: 386 +2953. LREMPOW2 (1005234562 % 0x00000400): long: 386 +2954. LREMPOW2 (1005234562 % 0x00000800): long: 386 +2955. LREMPOW2 (1005234562 % 0x00001000): long: 2434 +2956. LREMPOW2 (1005234562 % 0x00002000): long: 2434 +2957. LREMPOW2 (1005234562 % 0x00004000): long: 10626 +2958. LREMPOW2 (1005234562 % 0x00008000): long: 10626 +2959. LREMPOW2 (1005234562 % 0x00010000): long: 43394 +2960. LREMPOW2 (1005234562 % 0x00020000): long: 43394 +2961. LREMPOW2 (1005234562 % 0x00040000): long: 174466 +2962. LREMPOW2 (1005234562 % 0x00080000): long: 174466 +2963. LREMPOW2 (1005234562 % 0x00100000): long: 698754 +2964. LREMPOW2 (1005234562 % 0x00200000): long: 698754 +2965. LREMPOW2 (1005234562 % 0x00400000): long: 2795906 +2966. LREMPOW2 (1005234562 % 0x00800000): long: 6990210 +2967. LREMPOW2 (1005234562 % 0x01000000): long: 15378818 +2968. LREMPOW2 (1005234562 % 0x02000000): long: 32156034 +2969. LREMPOW2 (1005234562 % 0x04000000): long: 65710466 +2970. LREMPOW2 (1005234562 % 0x08000000): long: 65710466 +2971. LREMPOW2 (1005234562 % 0x10000000): long: 199928194 +2972. LREMPOW2 (1005234562 % 0x20000000): long: 468363650 +2973. LREMPOW2 (1005234562 % 0x40000000): long: 1005234562 +2974. LREMPOW2 (1005234562 % 0x80000000): long: 1005234562 +2975. LDIVPOW2 (12135005234562 / 0x00000002): long: 6067502617281 +2976. LDIVPOW2 (12135005234562 / 0x00000004): long: 3033751308640 +2977. LDIVPOW2 (12135005234562 / 0x00000008): long: 1516875654320 +2978. LDIVPOW2 (12135005234562 / 0x00000010): long: 758437827160 +2979. LDIVPOW2 (12135005234562 / 0x00000020): long: 379218913580 +2980. LDIVPOW2 (12135005234562 / 0x00000040): long: 189609456790 +2981. LDIVPOW2 (12135005234562 / 0x00000080): long: 94804728395 +2982. LDIVPOW2 (12135005234562 / 0x00000100): long: 47402364197 +2983. LDIVPOW2 (12135005234562 / 0x00000200): long: 23701182098 +2984. LDIVPOW2 (12135005234562 / 0x00000400): long: 11850591049 +2985. LDIVPOW2 (12135005234562 / 0x00000800): long: 5925295524 +2986. LDIVPOW2 (12135005234562 / 0x00001000): long: 2962647762 +2987. LDIVPOW2 (12135005234562 / 0x00002000): long: 1481323881 +2988. LDIVPOW2 (12135005234562 / 0x00004000): long: 740661940 +2989. LDIVPOW2 (12135005234562 / 0x00008000): long: 370330970 +2990. LDIVPOW2 (12135005234562 / 0x00010000): long: 185165485 +2991. LDIVPOW2 (12135005234562 / 0x00020000): long: 92582742 +2992. LDIVPOW2 (12135005234562 / 0x00040000): long: 46291371 +2993. LDIVPOW2 (12135005234562 / 0x00080000): long: 23145685 +2994. LDIVPOW2 (12135005234562 / 0x00100000): long: 11572842 +2995. LDIVPOW2 (12135005234562 / 0x00200000): long: 5786421 +2996. LDIVPOW2 (12135005234562 / 0x00400000): long: 2893210 +2997. LDIVPOW2 (12135005234562 / 0x00800000): long: 1446605 +2998. LDIVPOW2 (12135005234562 / 0x01000000): long: 723302 +2999. LDIVPOW2 (12135005234562 / 0x02000000): long: 361651 +3000. LDIVPOW2 (12135005234562 / 0x04000000): long: 180825 +3001. LDIVPOW2 (12135005234562 / 0x08000000): long: 90412 +3002. LDIVPOW2 (12135005234562 / 0x10000000): long: 45206 +3003. LDIVPOW2 (12135005234562 / 0x20000000): long: 22603 +3004. LDIVPOW2 (12135005234562 / 0x40000000): long: 11301 +3005. LDIVPOW2 (12135005234562 / 0x80000000): long: -5650 +3006. LREMPOW2 (12135005234562 % 0x00000002): long: 0 +3007. LREMPOW2 (12135005234562 % 0x00000004): long: 2 +3008. LREMPOW2 (12135005234562 % 0x00000008): long: 2 +3009. LREMPOW2 (12135005234562 % 0x00000010): long: 2 +3010. LREMPOW2 (12135005234562 % 0x00000020): long: 2 +3011. LREMPOW2 (12135005234562 % 0x00000040): long: 2 +3012. LREMPOW2 (12135005234562 % 0x00000080): long: 2 +3013. LREMPOW2 (12135005234562 % 0x00000100): long: 130 +3014. LREMPOW2 (12135005234562 % 0x00000200): long: 386 +3015. LREMPOW2 (12135005234562 % 0x00000400): long: 386 +3016. LREMPOW2 (12135005234562 % 0x00000800): long: 1410 +3017. LREMPOW2 (12135005234562 % 0x00001000): long: 1410 +3018. LREMPOW2 (12135005234562 % 0x00002000): long: 1410 +3019. LREMPOW2 (12135005234562 % 0x00004000): long: 9602 +3020. LREMPOW2 (12135005234562 % 0x00008000): long: 9602 +3021. LREMPOW2 (12135005234562 % 0x00010000): long: 9602 +3022. LREMPOW2 (12135005234562 % 0x00020000): long: 75138 +3023. LREMPOW2 (12135005234562 % 0x00040000): long: 75138 +3024. LREMPOW2 (12135005234562 % 0x00080000): long: 337282 +3025. LREMPOW2 (12135005234562 % 0x00100000): long: 861570 +3026. LREMPOW2 (12135005234562 % 0x00200000): long: 861570 +3027. LREMPOW2 (12135005234562 % 0x00400000): long: 2958722 +3028. LREMPOW2 (12135005234562 % 0x00800000): long: 2958722 +3029. LREMPOW2 (12135005234562 % 0x01000000): long: 11347330 +3030. LREMPOW2 (12135005234562 % 0x02000000): long: 11347330 +3031. LREMPOW2 (12135005234562 % 0x04000000): long: 44901762 +3032. LREMPOW2 (12135005234562 % 0x08000000): long: 112010626 +3033. LREMPOW2 (12135005234562 % 0x10000000): long: 112010626 +3034. LREMPOW2 (12135005234562 % 0x20000000): long: 112010626 +3035. LREMPOW2 (12135005234562 % 0x40000000): long: 648881538 +3036. LREMPOW2 (12135005234562 % 0x80000000): long: 1722623362 +3037. LDIVPOW2 (2343552355623464626 / 0x00000002): long: 1171776177811732313 +3038. LDIVPOW2 (2343552355623464626 / 0x00000004): long: 585888088905866156 +3039. LDIVPOW2 (2343552355623464626 / 0x00000008): long: 292944044452933078 +3040. LDIVPOW2 (2343552355623464626 / 0x00000010): long: 146472022226466539 +3041. LDIVPOW2 (2343552355623464626 / 0x00000020): long: 73236011113233269 +3042. LDIVPOW2 (2343552355623464626 / 0x00000040): long: 36618005556616634 +3043. LDIVPOW2 (2343552355623464626 / 0x00000080): long: 18309002778308317 +3044. LDIVPOW2 (2343552355623464626 / 0x00000100): long: 9154501389154158 +3045. LDIVPOW2 (2343552355623464626 / 0x00000200): long: 4577250694577079 +3046. LDIVPOW2 (2343552355623464626 / 0x00000400): long: 2288625347288539 +3047. LDIVPOW2 (2343552355623464626 / 0x00000800): long: 1144312673644269 +3048. LDIVPOW2 (2343552355623464626 / 0x00001000): long: 572156336822134 +3049. LDIVPOW2 (2343552355623464626 / 0x00002000): long: 286078168411067 +3050. LDIVPOW2 (2343552355623464626 / 0x00004000): long: 143039084205533 +3051. LDIVPOW2 (2343552355623464626 / 0x00008000): long: 71519542102766 +3052. LDIVPOW2 (2343552355623464626 / 0x00010000): long: 35759771051383 +3053. LDIVPOW2 (2343552355623464626 / 0x00020000): long: 17879885525691 +3054. LDIVPOW2 (2343552355623464626 / 0x00040000): long: 8939942762845 +3055. LDIVPOW2 (2343552355623464626 / 0x00080000): long: 4469971381422 +3056. LDIVPOW2 (2343552355623464626 / 0x00100000): long: 2234985690711 +3057. LDIVPOW2 (2343552355623464626 / 0x00200000): long: 1117492845355 +3058. LDIVPOW2 (2343552355623464626 / 0x00400000): long: 558746422677 +3059. LDIVPOW2 (2343552355623464626 / 0x00800000): long: 279373211338 +3060. LDIVPOW2 (2343552355623464626 / 0x01000000): long: 139686605669 +3061. LDIVPOW2 (2343552355623464626 / 0x02000000): long: 69843302834 +3062. LDIVPOW2 (2343552355623464626 / 0x04000000): long: 34921651417 +3063. LDIVPOW2 (2343552355623464626 / 0x08000000): long: 17460825708 +3064. LDIVPOW2 (2343552355623464626 / 0x10000000): long: 8730412854 +3065. LDIVPOW2 (2343552355623464626 / 0x20000000): long: 4365206427 +3066. LDIVPOW2 (2343552355623464626 / 0x40000000): long: 2182603213 +3067. LDIVPOW2 (2343552355623464626 / 0x80000000): long: -1091301606 +3068. LREMPOW2 (2343552355623464626 % 0x00000002): long: 0 +3069. LREMPOW2 (2343552355623464626 % 0x00000004): long: 2 +3070. LREMPOW2 (2343552355623464626 % 0x00000008): long: 2 +3071. LREMPOW2 (2343552355623464626 % 0x00000010): long: 2 +3072. LREMPOW2 (2343552355623464626 % 0x00000020): long: 18 +3073. LREMPOW2 (2343552355623464626 % 0x00000040): long: 50 +3074. LREMPOW2 (2343552355623464626 % 0x00000080): long: 50 +3075. LREMPOW2 (2343552355623464626 % 0x00000100): long: 178 +3076. LREMPOW2 (2343552355623464626 % 0x00000200): long: 178 +3077. LREMPOW2 (2343552355623464626 % 0x00000400): long: 690 +3078. LREMPOW2 (2343552355623464626 % 0x00000800): long: 1714 +3079. LREMPOW2 (2343552355623464626 % 0x00001000): long: 3762 +3080. LREMPOW2 (2343552355623464626 % 0x00002000): long: 3762 +3081. LREMPOW2 (2343552355623464626 % 0x00004000): long: 11954 +3082. LREMPOW2 (2343552355623464626 % 0x00008000): long: 28338 +3083. LREMPOW2 (2343552355623464626 % 0x00010000): long: 28338 +3084. LREMPOW2 (2343552355623464626 % 0x00020000): long: 93874 +3085. LREMPOW2 (2343552355623464626 % 0x00040000): long: 224946 +3086. LREMPOW2 (2343552355623464626 % 0x00080000): long: 487090 +3087. LREMPOW2 (2343552355623464626 % 0x00100000): long: 487090 +3088. LREMPOW2 (2343552355623464626 % 0x00200000): long: 1535666 +3089. LREMPOW2 (2343552355623464626 % 0x00400000): long: 3632818 +3090. LREMPOW2 (2343552355623464626 % 0x00800000): long: 7827122 +3091. LREMPOW2 (2343552355623464626 % 0x01000000): long: 7827122 +3092. LREMPOW2 (2343552355623464626 % 0x02000000): long: 24604338 +3093. LREMPOW2 (2343552355623464626 % 0x04000000): long: 24604338 +3094. LREMPOW2 (2343552355623464626 % 0x08000000): long: 91713202 +3095. LREMPOW2 (2343552355623464626 % 0x10000000): long: 91713202 +3096. LREMPOW2 (2343552355623464626 % 0x20000000): long: 91713202 +3097. LREMPOW2 (2343552355623464626 % 0x40000000): long: 628584114 +3098. LREMPOW2 (2343552355623464626 % 0x80000000): long: 1702325938 +3099. LDIVPOW2 (-17 / 0x00000002): long: -8 +3100. LDIVPOW2 (-17 / 0x00000004): long: -4 +3101. LDIVPOW2 (-17 / 0x00000008): long: -2 +3102. LDIVPOW2 (-17 / 0x00000010): long: -1 +3103. LDIVPOW2 (-17 / 0x00000020): long: 0 +3104. LDIVPOW2 (-17 / 0x00000040): long: 0 +3105. LDIVPOW2 (-17 / 0x00000080): long: 0 +3106. LDIVPOW2 (-17 / 0x00000100): long: 0 +3107. LDIVPOW2 (-17 / 0x00000200): long: 0 +3108. LDIVPOW2 (-17 / 0x00000400): long: 0 +3109. LDIVPOW2 (-17 / 0x00000800): long: 0 +3110. LDIVPOW2 (-17 / 0x00001000): long: 0 +3111. LDIVPOW2 (-17 / 0x00002000): long: 0 +3112. LDIVPOW2 (-17 / 0x00004000): long: 0 +3113. LDIVPOW2 (-17 / 0x00008000): long: 0 +3114. LDIVPOW2 (-17 / 0x00010000): long: 0 +3115. LDIVPOW2 (-17 / 0x00020000): long: 0 +3116. LDIVPOW2 (-17 / 0x00040000): long: 0 +3117. LDIVPOW2 (-17 / 0x00080000): long: 0 +3118. LDIVPOW2 (-17 / 0x00100000): long: 0 +3119. LDIVPOW2 (-17 / 0x00200000): long: 0 +3120. LDIVPOW2 (-17 / 0x00400000): long: 0 +3121. LDIVPOW2 (-17 / 0x00800000): long: 0 +3122. LDIVPOW2 (-17 / 0x01000000): long: 0 +3123. LDIVPOW2 (-17 / 0x02000000): long: 0 +3124. LDIVPOW2 (-17 / 0x04000000): long: 0 +3125. LDIVPOW2 (-17 / 0x08000000): long: 0 +3126. LDIVPOW2 (-17 / 0x10000000): long: 0 +3127. LDIVPOW2 (-17 / 0x20000000): long: 0 +3128. LDIVPOW2 (-17 / 0x40000000): long: 0 +3129. LDIVPOW2 (-17 / 0x80000000): long: 0 +3130. LREMPOW2 (-17 % 0x00000002): long: -1 +3131. LREMPOW2 (-17 % 0x00000004): long: -1 +3132. LREMPOW2 (-17 % 0x00000008): long: -1 +3133. LREMPOW2 (-17 % 0x00000010): long: -1 +3134. LREMPOW2 (-17 % 0x00000020): long: -17 +3135. LREMPOW2 (-17 % 0x00000040): long: -17 +3136. LREMPOW2 (-17 % 0x00000080): long: -17 +3137. LREMPOW2 (-17 % 0x00000100): long: -17 +3138. LREMPOW2 (-17 % 0x00000200): long: -17 +3139. LREMPOW2 (-17 % 0x00000400): long: -17 +3140. LREMPOW2 (-17 % 0x00000800): long: -17 +3141. LREMPOW2 (-17 % 0x00001000): long: -17 +3142. LREMPOW2 (-17 % 0x00002000): long: -17 +3143. LREMPOW2 (-17 % 0x00004000): long: -17 +3144. LREMPOW2 (-17 % 0x00008000): long: -17 +3145. LREMPOW2 (-17 % 0x00010000): long: -17 +3146. LREMPOW2 (-17 % 0x00020000): long: -17 +3147. LREMPOW2 (-17 % 0x00040000): long: -17 +3148. LREMPOW2 (-17 % 0x00080000): long: -17 +3149. LREMPOW2 (-17 % 0x00100000): long: -17 +3150. LREMPOW2 (-17 % 0x00200000): long: -17 +3151. LREMPOW2 (-17 % 0x00400000): long: -17 +3152. LREMPOW2 (-17 % 0x00800000): long: -17 +3153. LREMPOW2 (-17 % 0x01000000): long: -17 +3154. LREMPOW2 (-17 % 0x02000000): long: -17 +3155. LREMPOW2 (-17 % 0x04000000): long: -17 +3156. LREMPOW2 (-17 % 0x08000000): long: -17 +3157. LREMPOW2 (-17 % 0x10000000): long: -17 +3158. LREMPOW2 (-17 % 0x20000000): long: -17 +3159. LREMPOW2 (-17 % 0x40000000): long: -17 +3160. LREMPOW2 (-17 % 0x80000000): long: -17 +3161. LDIVPOW2 (-12347 / 0x00000002): long: -6173 +3162. LDIVPOW2 (-12347 / 0x00000004): long: -3086 +3163. LDIVPOW2 (-12347 / 0x00000008): long: -1543 +3164. LDIVPOW2 (-12347 / 0x00000010): long: -771 +3165. LDIVPOW2 (-12347 / 0x00000020): long: -385 +3166. LDIVPOW2 (-12347 / 0x00000040): long: -192 +3167. LDIVPOW2 (-12347 / 0x00000080): long: -96 +3168. LDIVPOW2 (-12347 / 0x00000100): long: -48 +3169. LDIVPOW2 (-12347 / 0x00000200): long: -24 +3170. LDIVPOW2 (-12347 / 0x00000400): long: -12 +3171. LDIVPOW2 (-12347 / 0x00000800): long: -6 +3172. LDIVPOW2 (-12347 / 0x00001000): long: -3 +3173. LDIVPOW2 (-12347 / 0x00002000): long: -1 +3174. LDIVPOW2 (-12347 / 0x00004000): long: 0 +3175. LDIVPOW2 (-12347 / 0x00008000): long: 0 +3176. LDIVPOW2 (-12347 / 0x00010000): long: 0 +3177. LDIVPOW2 (-12347 / 0x00020000): long: 0 +3178. LDIVPOW2 (-12347 / 0x00040000): long: 0 +3179. LDIVPOW2 (-12347 / 0x00080000): long: 0 +3180. LDIVPOW2 (-12347 / 0x00100000): long: 0 +3181. LDIVPOW2 (-12347 / 0x00200000): long: 0 +3182. LDIVPOW2 (-12347 / 0x00400000): long: 0 +3183. LDIVPOW2 (-12347 / 0x00800000): long: 0 +3184. LDIVPOW2 (-12347 / 0x01000000): long: 0 +3185. LDIVPOW2 (-12347 / 0x02000000): long: 0 +3186. LDIVPOW2 (-12347 / 0x04000000): long: 0 +3187. LDIVPOW2 (-12347 / 0x08000000): long: 0 +3188. LDIVPOW2 (-12347 / 0x10000000): long: 0 +3189. LDIVPOW2 (-12347 / 0x20000000): long: 0 +3190. LDIVPOW2 (-12347 / 0x40000000): long: 0 +3191. LDIVPOW2 (-12347 / 0x80000000): long: 0 +3192. LREMPOW2 (-12347 % 0x00000002): long: -1 +3193. LREMPOW2 (-12347 % 0x00000004): long: -3 +3194. LREMPOW2 (-12347 % 0x00000008): long: -3 +3195. LREMPOW2 (-12347 % 0x00000010): long: -11 +3196. LREMPOW2 (-12347 % 0x00000020): long: -27 +3197. LREMPOW2 (-12347 % 0x00000040): long: -59 +3198. LREMPOW2 (-12347 % 0x00000080): long: -59 +3199. LREMPOW2 (-12347 % 0x00000100): long: -59 +3200. LREMPOW2 (-12347 % 0x00000200): long: -59 +3201. LREMPOW2 (-12347 % 0x00000400): long: -59 +3202. LREMPOW2 (-12347 % 0x00000800): long: -59 +3203. LREMPOW2 (-12347 % 0x00001000): long: -59 +3204. LREMPOW2 (-12347 % 0x00002000): long: -4155 +3205. LREMPOW2 (-12347 % 0x00004000): long: -12347 +3206. LREMPOW2 (-12347 % 0x00008000): long: -12347 +3207. LREMPOW2 (-12347 % 0x00010000): long: -12347 +3208. LREMPOW2 (-12347 % 0x00020000): long: -12347 +3209. LREMPOW2 (-12347 % 0x00040000): long: -12347 +3210. LREMPOW2 (-12347 % 0x00080000): long: -12347 +3211. LREMPOW2 (-12347 % 0x00100000): long: -12347 +3212. LREMPOW2 (-12347 % 0x00200000): long: -12347 +3213. LREMPOW2 (-12347 % 0x00400000): long: -12347 +3214. LREMPOW2 (-12347 % 0x00800000): long: -12347 +3215. LREMPOW2 (-12347 % 0x01000000): long: -12347 +3216. LREMPOW2 (-12347 % 0x02000000): long: -12347 +3217. LREMPOW2 (-12347 % 0x04000000): long: -12347 +3218. LREMPOW2 (-12347 % 0x08000000): long: -12347 +3219. LREMPOW2 (-12347 % 0x10000000): long: -12347 +3220. LREMPOW2 (-12347 % 0x20000000): long: -12347 +3221. LREMPOW2 (-12347 % 0x40000000): long: -12347 +3222. LREMPOW2 (-12347 % 0x80000000): long: -12347 +3223. LDIVPOW2 (-8893427 / 0x00000002): long: -4446713 +3224. LDIVPOW2 (-8893427 / 0x00000004): long: -2223356 +3225. LDIVPOW2 (-8893427 / 0x00000008): long: -1111678 +3226. LDIVPOW2 (-8893427 / 0x00000010): long: -555839 +3227. LDIVPOW2 (-8893427 / 0x00000020): long: -277919 +3228. LDIVPOW2 (-8893427 / 0x00000040): long: -138959 +3229. LDIVPOW2 (-8893427 / 0x00000080): long: -69479 +3230. LDIVPOW2 (-8893427 / 0x00000100): long: -34739 +3231. LDIVPOW2 (-8893427 / 0x00000200): long: -17369 +3232. LDIVPOW2 (-8893427 / 0x00000400): long: -8684 +3233. LDIVPOW2 (-8893427 / 0x00000800): long: -4342 +3234. LDIVPOW2 (-8893427 / 0x00001000): long: -2171 +3235. LDIVPOW2 (-8893427 / 0x00002000): long: -1085 +3236. LDIVPOW2 (-8893427 / 0x00004000): long: -542 +3237. LDIVPOW2 (-8893427 / 0x00008000): long: -271 +3238. LDIVPOW2 (-8893427 / 0x00010000): long: -135 +3239. LDIVPOW2 (-8893427 / 0x00020000): long: -67 +3240. LDIVPOW2 (-8893427 / 0x00040000): long: -33 +3241. LDIVPOW2 (-8893427 / 0x00080000): long: -16 +3242. LDIVPOW2 (-8893427 / 0x00100000): long: -8 +3243. LDIVPOW2 (-8893427 / 0x00200000): long: -4 +3244. LDIVPOW2 (-8893427 / 0x00400000): long: -2 +3245. LDIVPOW2 (-8893427 / 0x00800000): long: -1 +3246. LDIVPOW2 (-8893427 / 0x01000000): long: 0 +3247. LDIVPOW2 (-8893427 / 0x02000000): long: 0 +3248. LDIVPOW2 (-8893427 / 0x04000000): long: 0 +3249. LDIVPOW2 (-8893427 / 0x08000000): long: 0 +3250. LDIVPOW2 (-8893427 / 0x10000000): long: 0 +3251. LDIVPOW2 (-8893427 / 0x20000000): long: 0 +3252. LDIVPOW2 (-8893427 / 0x40000000): long: 0 +3253. LDIVPOW2 (-8893427 / 0x80000000): long: 0 +3254. LREMPOW2 (-8893427 % 0x00000002): long: -1 +3255. LREMPOW2 (-8893427 % 0x00000004): long: -3 +3256. LREMPOW2 (-8893427 % 0x00000008): long: -3 +3257. LREMPOW2 (-8893427 % 0x00000010): long: -3 +3258. LREMPOW2 (-8893427 % 0x00000020): long: -19 +3259. LREMPOW2 (-8893427 % 0x00000040): long: -51 +3260. LREMPOW2 (-8893427 % 0x00000080): long: -115 +3261. LREMPOW2 (-8893427 % 0x00000100): long: -243 +3262. LREMPOW2 (-8893427 % 0x00000200): long: -499 +3263. LREMPOW2 (-8893427 % 0x00000400): long: -1011 +3264. LREMPOW2 (-8893427 % 0x00000800): long: -1011 +3265. LREMPOW2 (-8893427 % 0x00001000): long: -1011 +3266. LREMPOW2 (-8893427 % 0x00002000): long: -5107 +3267. LREMPOW2 (-8893427 % 0x00004000): long: -13299 +3268. LREMPOW2 (-8893427 % 0x00008000): long: -13299 +3269. LREMPOW2 (-8893427 % 0x00010000): long: -46067 +3270. LREMPOW2 (-8893427 % 0x00020000): long: -111603 +3271. LREMPOW2 (-8893427 % 0x00040000): long: -242675 +3272. LREMPOW2 (-8893427 % 0x00080000): long: -504819 +3273. LREMPOW2 (-8893427 % 0x00100000): long: -504819 +3274. LREMPOW2 (-8893427 % 0x00200000): long: -504819 +3275. LREMPOW2 (-8893427 % 0x00400000): long: -504819 +3276. LREMPOW2 (-8893427 % 0x00800000): long: -504819 +3277. LREMPOW2 (-8893427 % 0x01000000): long: -8893427 +3278. LREMPOW2 (-8893427 % 0x02000000): long: -8893427 +3279. LREMPOW2 (-8893427 % 0x04000000): long: -8893427 +3280. LREMPOW2 (-8893427 % 0x08000000): long: -8893427 +3281. LREMPOW2 (-8893427 % 0x10000000): long: -8893427 +3282. LREMPOW2 (-8893427 % 0x20000000): long: -8893427 +3283. LREMPOW2 (-8893427 % 0x40000000): long: -8893427 +3284. LREMPOW2 (-8893427 % 0x80000000): long: -8893427 +3285. LDIVPOW2 (-1005234562 / 0x00000002): long: -502617281 +3286. LDIVPOW2 (-1005234562 / 0x00000004): long: -251308640 +3287. LDIVPOW2 (-1005234562 / 0x00000008): long: -125654320 +3288. LDIVPOW2 (-1005234562 / 0x00000010): long: -62827160 +3289. LDIVPOW2 (-1005234562 / 0x00000020): long: -31413580 +3290. LDIVPOW2 (-1005234562 / 0x00000040): long: -15706790 +3291. LDIVPOW2 (-1005234562 / 0x00000080): long: -7853395 +3292. LDIVPOW2 (-1005234562 / 0x00000100): long: -3926697 +3293. LDIVPOW2 (-1005234562 / 0x00000200): long: -1963348 +3294. LDIVPOW2 (-1005234562 / 0x00000400): long: -981674 +3295. LDIVPOW2 (-1005234562 / 0x00000800): long: -490837 +3296. LDIVPOW2 (-1005234562 / 0x00001000): long: -245418 +3297. LDIVPOW2 (-1005234562 / 0x00002000): long: -122709 +3298. LDIVPOW2 (-1005234562 / 0x00004000): long: -61354 +3299. LDIVPOW2 (-1005234562 / 0x00008000): long: -30677 +3300. LDIVPOW2 (-1005234562 / 0x00010000): long: -15338 +3301. LDIVPOW2 (-1005234562 / 0x00020000): long: -7669 +3302. LDIVPOW2 (-1005234562 / 0x00040000): long: -3834 +3303. LDIVPOW2 (-1005234562 / 0x00080000): long: -1917 +3304. LDIVPOW2 (-1005234562 / 0x00100000): long: -958 +3305. LDIVPOW2 (-1005234562 / 0x00200000): long: -479 +3306. LDIVPOW2 (-1005234562 / 0x00400000): long: -239 +3307. LDIVPOW2 (-1005234562 / 0x00800000): long: -119 +3308. LDIVPOW2 (-1005234562 / 0x01000000): long: -59 +3309. LDIVPOW2 (-1005234562 / 0x02000000): long: -29 +3310. LDIVPOW2 (-1005234562 / 0x04000000): long: -14 +3311. LDIVPOW2 (-1005234562 / 0x08000000): long: -7 +3312. LDIVPOW2 (-1005234562 / 0x10000000): long: -3 +3313. LDIVPOW2 (-1005234562 / 0x20000000): long: -1 +3314. LDIVPOW2 (-1005234562 / 0x40000000): long: 0 +3315. LDIVPOW2 (-1005234562 / 0x80000000): long: 0 +3316. LREMPOW2 (-1005234562 % 0x00000002): long: 0 +3317. LREMPOW2 (-1005234562 % 0x00000004): long: -2 +3318. LREMPOW2 (-1005234562 % 0x00000008): long: -2 +3319. LREMPOW2 (-1005234562 % 0x00000010): long: -2 +3320. LREMPOW2 (-1005234562 % 0x00000020): long: -2 +3321. LREMPOW2 (-1005234562 % 0x00000040): long: -2 +3322. LREMPOW2 (-1005234562 % 0x00000080): long: -2 +3323. LREMPOW2 (-1005234562 % 0x00000100): long: -130 +3324. LREMPOW2 (-1005234562 % 0x00000200): long: -386 +3325. LREMPOW2 (-1005234562 % 0x00000400): long: -386 +3326. LREMPOW2 (-1005234562 % 0x00000800): long: -386 +3327. LREMPOW2 (-1005234562 % 0x00001000): long: -2434 +3328. LREMPOW2 (-1005234562 % 0x00002000): long: -2434 +3329. LREMPOW2 (-1005234562 % 0x00004000): long: -10626 +3330. LREMPOW2 (-1005234562 % 0x00008000): long: -10626 +3331. LREMPOW2 (-1005234562 % 0x00010000): long: -43394 +3332. LREMPOW2 (-1005234562 % 0x00020000): long: -43394 +3333. LREMPOW2 (-1005234562 % 0x00040000): long: -174466 +3334. LREMPOW2 (-1005234562 % 0x00080000): long: -174466 +3335. LREMPOW2 (-1005234562 % 0x00100000): long: -698754 +3336. LREMPOW2 (-1005234562 % 0x00200000): long: -698754 +3337. LREMPOW2 (-1005234562 % 0x00400000): long: -2795906 +3338. LREMPOW2 (-1005234562 % 0x00800000): long: -6990210 +3339. LREMPOW2 (-1005234562 % 0x01000000): long: -15378818 +3340. LREMPOW2 (-1005234562 % 0x02000000): long: -32156034 +3341. LREMPOW2 (-1005234562 % 0x04000000): long: -65710466 +3342. LREMPOW2 (-1005234562 % 0x08000000): long: -65710466 +3343. LREMPOW2 (-1005234562 % 0x10000000): long: -199928194 +3344. LREMPOW2 (-1005234562 % 0x20000000): long: -468363650 +3345. LREMPOW2 (-1005234562 % 0x40000000): long: -1005234562 +3346. LREMPOW2 (-1005234562 % 0x80000000): long: -1005234562 +3347. LDIVPOW2 (-12135005234562 / 0x00000002): long: -6067502617281 +3348. LDIVPOW2 (-12135005234562 / 0x00000004): long: -3033751308640 +3349. LDIVPOW2 (-12135005234562 / 0x00000008): long: -1516875654320 +3350. LDIVPOW2 (-12135005234562 / 0x00000010): long: -758437827160 +3351. LDIVPOW2 (-12135005234562 / 0x00000020): long: -379218913580 +3352. LDIVPOW2 (-12135005234562 / 0x00000040): long: -189609456790 +3353. LDIVPOW2 (-12135005234562 / 0x00000080): long: -94804728395 +3354. LDIVPOW2 (-12135005234562 / 0x00000100): long: -47402364197 +3355. LDIVPOW2 (-12135005234562 / 0x00000200): long: -23701182098 +3356. LDIVPOW2 (-12135005234562 / 0x00000400): long: -11850591049 +3357. LDIVPOW2 (-12135005234562 / 0x00000800): long: -5925295524 +3358. LDIVPOW2 (-12135005234562 / 0x00001000): long: -2962647762 +3359. LDIVPOW2 (-12135005234562 / 0x00002000): long: -1481323881 +3360. LDIVPOW2 (-12135005234562 / 0x00004000): long: -740661940 +3361. LDIVPOW2 (-12135005234562 / 0x00008000): long: -370330970 +3362. LDIVPOW2 (-12135005234562 / 0x00010000): long: -185165485 +3363. LDIVPOW2 (-12135005234562 / 0x00020000): long: -92582742 +3364. LDIVPOW2 (-12135005234562 / 0x00040000): long: -46291371 +3365. LDIVPOW2 (-12135005234562 / 0x00080000): long: -23145685 +3366. LDIVPOW2 (-12135005234562 / 0x00100000): long: -11572842 +3367. LDIVPOW2 (-12135005234562 / 0x00200000): long: -5786421 +3368. LDIVPOW2 (-12135005234562 / 0x00400000): long: -2893210 +3369. LDIVPOW2 (-12135005234562 / 0x00800000): long: -1446605 +3370. LDIVPOW2 (-12135005234562 / 0x01000000): long: -723302 +3371. LDIVPOW2 (-12135005234562 / 0x02000000): long: -361651 +3372. LDIVPOW2 (-12135005234562 / 0x04000000): long: -180825 +3373. LDIVPOW2 (-12135005234562 / 0x08000000): long: -90412 +3374. LDIVPOW2 (-12135005234562 / 0x10000000): long: -45206 +3375. LDIVPOW2 (-12135005234562 / 0x20000000): long: -22603 +3376. LDIVPOW2 (-12135005234562 / 0x40000000): long: -11301 +3377. LDIVPOW2 (-12135005234562 / 0x80000000): long: 5650 +3378. LREMPOW2 (-12135005234562 % 0x00000002): long: 0 +3379. LREMPOW2 (-12135005234562 % 0x00000004): long: -2 +3380. LREMPOW2 (-12135005234562 % 0x00000008): long: -2 +3381. LREMPOW2 (-12135005234562 % 0x00000010): long: -2 +3382. LREMPOW2 (-12135005234562 % 0x00000020): long: -2 +3383. LREMPOW2 (-12135005234562 % 0x00000040): long: -2 +3384. LREMPOW2 (-12135005234562 % 0x00000080): long: -2 +3385. LREMPOW2 (-12135005234562 % 0x00000100): long: -130 +3386. LREMPOW2 (-12135005234562 % 0x00000200): long: -386 +3387. LREMPOW2 (-12135005234562 % 0x00000400): long: -386 +3388. LREMPOW2 (-12135005234562 % 0x00000800): long: -1410 +3389. LREMPOW2 (-12135005234562 % 0x00001000): long: -1410 +3390. LREMPOW2 (-12135005234562 % 0x00002000): long: -1410 +3391. LREMPOW2 (-12135005234562 % 0x00004000): long: -9602 +3392. LREMPOW2 (-12135005234562 % 0x00008000): long: -9602 +3393. LREMPOW2 (-12135005234562 % 0x00010000): long: -9602 +3394. LREMPOW2 (-12135005234562 % 0x00020000): long: -75138 +3395. LREMPOW2 (-12135005234562 % 0x00040000): long: -75138 +3396. LREMPOW2 (-12135005234562 % 0x00080000): long: -337282 +3397. LREMPOW2 (-12135005234562 % 0x00100000): long: -861570 +3398. LREMPOW2 (-12135005234562 % 0x00200000): long: -861570 +3399. LREMPOW2 (-12135005234562 % 0x00400000): long: -2958722 +3400. LREMPOW2 (-12135005234562 % 0x00800000): long: -2958722 +3401. LREMPOW2 (-12135005234562 % 0x01000000): long: -11347330 +3402. LREMPOW2 (-12135005234562 % 0x02000000): long: -11347330 +3403. LREMPOW2 (-12135005234562 % 0x04000000): long: -44901762 +3404. LREMPOW2 (-12135005234562 % 0x08000000): long: -112010626 +3405. LREMPOW2 (-12135005234562 % 0x10000000): long: -112010626 +3406. LREMPOW2 (-12135005234562 % 0x20000000): long: -112010626 +3407. LREMPOW2 (-12135005234562 % 0x40000000): long: -648881538 +3408. LREMPOW2 (-12135005234562 % 0x80000000): long: -1722623362 +3409. LDIVPOW2 (-2343552355623464626 / 0x00000002): long: -1171776177811732313 +3410. LDIVPOW2 (-2343552355623464626 / 0x00000004): long: -585888088905866156 +3411. LDIVPOW2 (-2343552355623464626 / 0x00000008): long: -292944044452933078 +3412. LDIVPOW2 (-2343552355623464626 / 0x00000010): long: -146472022226466539 +3413. LDIVPOW2 (-2343552355623464626 / 0x00000020): long: -73236011113233269 +3414. LDIVPOW2 (-2343552355623464626 / 0x00000040): long: -36618005556616634 +3415. LDIVPOW2 (-2343552355623464626 / 0x00000080): long: -18309002778308317 +3416. LDIVPOW2 (-2343552355623464626 / 0x00000100): long: -9154501389154158 +3417. LDIVPOW2 (-2343552355623464626 / 0x00000200): long: -4577250694577079 +3418. LDIVPOW2 (-2343552355623464626 / 0x00000400): long: -2288625347288539 +3419. LDIVPOW2 (-2343552355623464626 / 0x00000800): long: -1144312673644269 +3420. LDIVPOW2 (-2343552355623464626 / 0x00001000): long: -572156336822134 +3421. LDIVPOW2 (-2343552355623464626 / 0x00002000): long: -286078168411067 +3422. LDIVPOW2 (-2343552355623464626 / 0x00004000): long: -143039084205533 +3423. LDIVPOW2 (-2343552355623464626 / 0x00008000): long: -71519542102766 +3424. LDIVPOW2 (-2343552355623464626 / 0x00010000): long: -35759771051383 +3425. LDIVPOW2 (-2343552355623464626 / 0x00020000): long: -17879885525691 +3426. LDIVPOW2 (-2343552355623464626 / 0x00040000): long: -8939942762845 +3427. LDIVPOW2 (-2343552355623464626 / 0x00080000): long: -4469971381422 +3428. LDIVPOW2 (-2343552355623464626 / 0x00100000): long: -2234985690711 +3429. LDIVPOW2 (-2343552355623464626 / 0x00200000): long: -1117492845355 +3430. LDIVPOW2 (-2343552355623464626 / 0x00400000): long: -558746422677 +3431. LDIVPOW2 (-2343552355623464626 / 0x00800000): long: -279373211338 +3432. LDIVPOW2 (-2343552355623464626 / 0x01000000): long: -139686605669 +3433. LDIVPOW2 (-2343552355623464626 / 0x02000000): long: -69843302834 +3434. LDIVPOW2 (-2343552355623464626 / 0x04000000): long: -34921651417 +3435. LDIVPOW2 (-2343552355623464626 / 0x08000000): long: -17460825708 +3436. LDIVPOW2 (-2343552355623464626 / 0x10000000): long: -8730412854 +3437. LDIVPOW2 (-2343552355623464626 / 0x20000000): long: -4365206427 +3438. LDIVPOW2 (-2343552355623464626 / 0x40000000): long: -2182603213 +3439. LDIVPOW2 (-2343552355623464626 / 0x80000000): long: 1091301606 +3440. LREMPOW2 (-2343552355623464626 % 0x00000002): long: 0 +3441. LREMPOW2 (-2343552355623464626 % 0x00000004): long: -2 +3442. LREMPOW2 (-2343552355623464626 % 0x00000008): long: -2 +3443. LREMPOW2 (-2343552355623464626 % 0x00000010): long: -2 +3444. LREMPOW2 (-2343552355623464626 % 0x00000020): long: -18 +3445. LREMPOW2 (-2343552355623464626 % 0x00000040): long: -50 +3446. LREMPOW2 (-2343552355623464626 % 0x00000080): long: -50 +3447. LREMPOW2 (-2343552355623464626 % 0x00000100): long: -178 +3448. LREMPOW2 (-2343552355623464626 % 0x00000200): long: -178 +3449. LREMPOW2 (-2343552355623464626 % 0x00000400): long: -690 +3450. LREMPOW2 (-2343552355623464626 % 0x00000800): long: -1714 +3451. LREMPOW2 (-2343552355623464626 % 0x00001000): long: -3762 +3452. LREMPOW2 (-2343552355623464626 % 0x00002000): long: -3762 +3453. LREMPOW2 (-2343552355623464626 % 0x00004000): long: -11954 +3454. LREMPOW2 (-2343552355623464626 % 0x00008000): long: -28338 +3455. LREMPOW2 (-2343552355623464626 % 0x00010000): long: -28338 +3456. LREMPOW2 (-2343552355623464626 % 0x00020000): long: -93874 +3457. LREMPOW2 (-2343552355623464626 % 0x00040000): long: -224946 +3458. LREMPOW2 (-2343552355623464626 % 0x00080000): long: -487090 +3459. LREMPOW2 (-2343552355623464626 % 0x00100000): long: -487090 +3460. LREMPOW2 (-2343552355623464626 % 0x00200000): long: -1535666 +3461. LREMPOW2 (-2343552355623464626 % 0x00400000): long: -3632818 +3462. LREMPOW2 (-2343552355623464626 % 0x00800000): long: -7827122 +3463. LREMPOW2 (-2343552355623464626 % 0x01000000): long: -7827122 +3464. LREMPOW2 (-2343552355623464626 % 0x02000000): long: -24604338 +3465. LREMPOW2 (-2343552355623464626 % 0x04000000): long: -24604338 +3466. LREMPOW2 (-2343552355623464626 % 0x08000000): long: -91713202 +3467. LREMPOW2 (-2343552355623464626 % 0x10000000): long: -91713202 +3468. LREMPOW2 (-2343552355623464626 % 0x20000000): long: -91713202 +3469. LREMPOW2 (-2343552355623464626 % 0x40000000): long: -628584114 +3470. LREMPOW2 (-2343552355623464626 % 0x80000000): long: -1702325938 +3471. ------------------- test ints +3472. TESTINT CALLED WITH int: 1 +3473. AND int: 2 +3474. IADD: int: 3 +3475. ISUB: int: -1 +3476. IMUL: int: 2 +3477. IDIV: int: 0 +3478. IREM: int: 1 +3479. INEG: int: -1 +3480. ISHL: int: 4 +3481. ISHR: int: 0 +3482. IUSHR: int: 0 +3483. IAND: int: 0 +3484. IOR: int: 3 +3485. IXOR: int: 3 +3486. I2L: long: 1 +3487. I2F: float: 1065353216 +3488. I2D: double: 4607182418800017408 +3489. INT2BYTE: byte: 1 +3490. INT2CHAR: char: 1 +3491. INT2SHORT: short: 1 +3492. not IFEQ +3493. not IFLT +3494. not IFLE +3495. not IF_ICMPEQ +3496. not IF_ICMPGT +3497. not IF_ICMPGE +3498. COND_ICMPEQ 1 == 0: 1 +3499. COND_ICMPNE 1 != 0: 0 +3500. COND_ICMPLT 1 < 0: 1 +3501. COND_ICMPLE 1 <= 0: 1 +3502. COND_ICMPGT 1 > 0: 0 +3503. COND_ICMPGE 1 >= 0: 0 +3504. COND_ICMPEQ 1 == 0: 0 +3505. COND_ICMPNE 1 != 0: 1 +3506. COND_ICMPLT 1 < 0: 0 +3507. COND_ICMPLE 1 <= 0: 0 +3508. COND_ICMPGT 1 > 0: 1 +3509. COND_ICMPGE 1 >= 0: 1 +3510. COND_ICMPEQ 1 == 0: 3 +3511. COND_ICMPNE 1 != 0: 2 +3512. COND_ICMPLT 1 < 0: 3 +3513. COND_ICMPLE 1 <= 0: 3 +3514. COND_ICMPGT 1 > 0: 2 +3515. COND_ICMPGE 1 >= 0: 2 +3516. COND_ICMPEQ 1 == 2: false +3517. COND_ICMPNE 1 != 2: true +3518. COND_ICMPLT 1 < 2: true +3519. COND_ICMPLE 1 <= 2: true +3520. COND_ICMPGT 1 > 2: false +3521. COND_ICMPGE 1 >= 2: false +3522. TESTINT CALLED WITH int: -1 +3523. AND int: 17 +3524. IADD: int: 16 +3525. ISUB: int: -18 +3526. IMUL: int: -17 +3527. IDIV: int: 0 +3528. IREM: int: -1 +3529. INEG: int: 1 +3530. ISHL: int: -131072 +3531. ISHR: int: -1 +3532. IUSHR: int: 32767 +3533. IAND: int: 17 +3534. IOR: int: -1 +3535. IXOR: int: -18 +3536. I2L: long: -1 +3537. I2F: float: -1082130432 +3538. I2D: double: -4616189618054758400 +3539. INT2BYTE: byte: -1 +3540. INT2CHAR: char: 65535 +3541. INT2SHORT: short: -1 +3542. not IFEQ +3543. not IFGT +3544. not IFGE +3545. not IF_ICMPEQ +3546. not IF_ICMPGT +3547. not IF_ICMPGE +3548. COND_ICMPEQ -1 == 0: 1 +3549. COND_ICMPNE -1 != 0: 0 +3550. COND_ICMPLT -1 < 0: 0 +3551. COND_ICMPLE -1 <= 0: 0 +3552. COND_ICMPGT -1 > 0: 1 +3553. COND_ICMPGE -1 >= 0: 1 +3554. COND_ICMPEQ -1 == 0: 0 +3555. COND_ICMPNE -1 != 0: 1 +3556. COND_ICMPLT -1 < 0: 1 +3557. COND_ICMPLE -1 <= 0: 1 +3558. COND_ICMPGT -1 > 0: 0 +3559. COND_ICMPGE -1 >= 0: 0 +3560. COND_ICMPEQ -1 == 0: 3 +3561. COND_ICMPNE -1 != 0: 2 +3562. COND_ICMPLT -1 < 0: 2 +3563. COND_ICMPLE -1 <= 0: 2 +3564. COND_ICMPGT -1 > 0: 3 +3565. COND_ICMPGE -1 >= 0: 3 +3566. COND_ICMPEQ -1 == 17: false +3567. COND_ICMPNE -1 != 17: true +3568. COND_ICMPLT -1 < 17: true +3569. COND_ICMPLE -1 <= 17: true +3570. COND_ICMPGT -1 > 17: false +3571. COND_ICMPGE -1 >= 17: false +3572. TESTINT CALLED WITH int: -24351 +3573. AND int: 24123 +3574. IADD: int: -228 +3575. ISUB: int: -48474 +3576. IMUL: int: -587419173 +3577. IDIV: int: -1 +3578. IREM: int: -228 +3579. INEG: int: 24351 +3580. ISHL: int: 134217728 +3581. ISHR: int: -1 +3582. IUSHR: int: 31 +3583. IAND: int: 33 +3584. IOR: int: -261 +3585. IXOR: int: -294 +3586. I2L: long: -24351 +3587. I2F: float: -960610816 +3588. I2D: double: -4550949270986948608 +3589. INT2BYTE: byte: -31 +3590. INT2CHAR: char: 41185 +3591. INT2SHORT: short: -24351 +3592. not IFEQ +3593. not IFGT +3594. not IFGE +3595. not IF_ICMPEQ +3596. not IF_ICMPGT +3597. not IF_ICMPGE +3598. COND_ICMPEQ -24351 == 0: 1 +3599. COND_ICMPNE -24351 != 0: 0 +3600. COND_ICMPLT -24351 < 0: 0 +3601. COND_ICMPLE -24351 <= 0: 0 +3602. COND_ICMPGT -24351 > 0: 1 +3603. COND_ICMPGE -24351 >= 0: 1 +3604. COND_ICMPEQ -24351 == 0: 0 +3605. COND_ICMPNE -24351 != 0: 1 +3606. COND_ICMPLT -24351 < 0: 1 +3607. COND_ICMPLE -24351 <= 0: 1 +3608. COND_ICMPGT -24351 > 0: 0 +3609. COND_ICMPGE -24351 >= 0: 0 +3610. COND_ICMPEQ -24351 == 0: 3 +3611. COND_ICMPNE -24351 != 0: 2 +3612. COND_ICMPLT -24351 < 0: 2 +3613. COND_ICMPLE -24351 <= 0: 2 +3614. COND_ICMPGT -24351 > 0: 3 +3615. COND_ICMPGE -24351 >= 0: 3 +3616. COND_ICMPEQ -24351 == 24123: false +3617. COND_ICMPNE -24351 != 24123: true +3618. COND_ICMPLT -24351 < 24123: true +3619. COND_ICMPLE -24351 <= 24123: true +3620. COND_ICMPGT -24351 > 24123: false +3621. COND_ICMPGE -24351 >= 24123: false +3622. TESTINT CALLED WITH int: 4918923 +3623. AND int: -441423 +3624. IADD: int: 4477500 +3625. ISUB: int: 5360346 +3626. IMUL: int: 1927704347 +3627. IDIV: int: -11 +3628. IREM: int: 63270 +3629. INEG: int: -4918923 +3630. ISHL: int: 487981056 +3631. ISHR: int: 37 +3632. IUSHR: int: 37 +3633. IAND: int: 4784769 +3634. IOR: int: -307269 +3635. IXOR: int: -5092038 +3636. I2L: long: 4918923 +3637. I2F: float: 1251351830 +3638. I2D: double: 4707039664328933376 +3639. INT2BYTE: byte: -117 +3640. INT2CHAR: char: 3723 +3641. INT2SHORT: short: 3723 +3642. not IFEQ +3643. not IFLT +3644. not IFLE +3645. not IF_ICMPEQ +3646. not IF_ICMPLT +3647. not IF_ICMPLE +3648. COND_ICMPEQ 4918923 == 0: 1 +3649. COND_ICMPNE 4918923 != 0: 0 +3650. COND_ICMPLT 4918923 < 0: 1 +3651. COND_ICMPLE 4918923 <= 0: 1 +3652. COND_ICMPGT 4918923 > 0: 0 +3653. COND_ICMPGE 4918923 >= 0: 0 +3654. COND_ICMPEQ 4918923 == 0: 0 +3655. COND_ICMPNE 4918923 != 0: 1 +3656. COND_ICMPLT 4918923 < 0: 0 +3657. COND_ICMPLE 4918923 <= 0: 0 +3658. COND_ICMPGT 4918923 > 0: 1 +3659. COND_ICMPGE 4918923 >= 0: 1 +3660. COND_ICMPEQ 4918923 == 0: 3 +3661. COND_ICMPNE 4918923 != 0: 2 +3662. COND_ICMPLT 4918923 < 0: 3 +3663. COND_ICMPLE 4918923 <= 0: 3 +3664. COND_ICMPGT 4918923 > 0: 2 +3665. COND_ICMPGE 4918923 >= 0: 2 +3666. COND_ICMPEQ 4918923 == -441423: false +3667. COND_ICMPNE 4918923 != -441423: true +3668. COND_ICMPLT 4918923 < -441423: false +3669. COND_ICMPLE 4918923 <= -441423: false +3670. COND_ICMPGT 4918923 > -441423: true +3671. COND_ICMPGE 4918923 >= -441423: true +3672. TESTINT CALLED WITH int: 0 +3673. AND int: 0 +3674. IADD: int: 0 +3675. ISUB: int: 0 +3676. IMUL: int: 0 +3677. divison by zero +3678. divison by zero +3679. INEG: int: 0 +3680. ISHL: int: 0 +3681. ISHR: int: 0 +3682. IUSHR: int: 0 +3683. IAND: int: 0 +3684. IOR: int: 0 +3685. IXOR: int: 0 +3686. I2L: long: 0 +3687. I2F: float: 0 +3688. I2D: double: 0 +3689. INT2BYTE: byte: 0 +3690. INT2CHAR: char: 0 +3691. INT2SHORT: short: 0 +3692. not IFNE +3693. not IFLT +3694. not IFGT +3695. not IF_ICMPNE +3696. not IF_ICMPLT +3697. not IF_ICMPGT +3698. COND_ICMPEQ 0 == 0: 0 +3699. COND_ICMPNE 0 != 0: 1 +3700. COND_ICMPLT 0 < 0: 1 +3701. COND_ICMPLE 0 <= 0: 0 +3702. COND_ICMPGT 0 > 0: 1 +3703. COND_ICMPGE 0 >= 0: 0 +3704. COND_ICMPEQ 0 == 0: 1 +3705. COND_ICMPNE 0 != 0: 0 +3706. COND_ICMPLT 0 < 0: 0 +3707. COND_ICMPLE 0 <= 0: 1 +3708. COND_ICMPGT 0 > 0: 0 +3709. COND_ICMPGE 0 >= 0: 1 +3710. COND_ICMPEQ 0 == 0: 2 +3711. COND_ICMPNE 0 != 0: 3 +3712. COND_ICMPLT 0 < 0: 3 +3713. COND_ICMPLE 0 <= 0: 2 +3714. COND_ICMPGT 0 > 0: 3 +3715. COND_ICMPGE 0 >= 0: 2 +3716. COND_ICMPEQ 0 == 0: true +3717. COND_ICMPNE 0 != 0: false +3718. COND_ICMPLT 0 < 0: false +3719. COND_ICMPLE 0 <= 0: true +3720. COND_ICMPGT 0 > 0: false +3721. COND_ICMPGE 0 >= 0: true +3722. TESTINT CALLED WITH int: -1 +3723. AND int: -1 +3724. IADD: int: -2 +3725. ISUB: int: 0 +3726. IMUL: int: 1 +3727. IDIV: int: 1 +3728. IREM: int: 0 +3729. INEG: int: 1 +3730. ISHL: int: -2147483648 +3731. ISHR: int: -1 +3732. IUSHR: int: 1 +3733. IAND: int: -1 +3734. IOR: int: -1 +3735. IXOR: int: 0 +3736. I2L: long: -1 +3737. I2F: float: -1082130432 +3738. I2D: double: -4616189618054758400 +3739. INT2BYTE: byte: -1 +3740. INT2CHAR: char: 65535 +3741. INT2SHORT: short: -1 +3742. not IFEQ +3743. not IFGT +3744. not IFGE +3745. not IF_ICMPNE +3746. not IF_ICMPLT +3747. not IF_ICMPGT +3748. COND_ICMPEQ -1 == 0: 1 +3749. COND_ICMPNE -1 != 0: 0 +3750. COND_ICMPLT -1 < 0: 0 +3751. COND_ICMPLE -1 <= 0: 0 +3752. COND_ICMPGT -1 > 0: 1 +3753. COND_ICMPGE -1 >= 0: 1 +3754. COND_ICMPEQ -1 == 0: 0 +3755. COND_ICMPNE -1 != 0: 1 +3756. COND_ICMPLT -1 < 0: 1 +3757. COND_ICMPLE -1 <= 0: 1 +3758. COND_ICMPGT -1 > 0: 0 +3759. COND_ICMPGE -1 >= 0: 0 +3760. COND_ICMPEQ -1 == 0: 3 +3761. COND_ICMPNE -1 != 0: 2 +3762. COND_ICMPLT -1 < 0: 2 +3763. COND_ICMPLE -1 <= 0: 2 +3764. COND_ICMPGT -1 > 0: 3 +3765. COND_ICMPGE -1 >= 0: 3 +3766. COND_ICMPEQ -1 == -1: true +3767. COND_ICMPNE -1 != -1: false +3768. COND_ICMPLT -1 < -1: false +3769. COND_ICMPLE -1 <= -1: true +3770. COND_ICMPGT -1 > -1: false +3771. COND_ICMPGE -1 >= -1: true +3772. TESTINT CALLED WITH int: 1423487 +3773. AND int: 123444444 +3774. IADD: int: 124867931 +3775. ISUB: int: -122020957 +3776. IMUL: int: 1564274980 +3777. IDIV: int: 0 +3778. IREM: int: 1423487 +3779. INEG: int: -1423487 +3780. ISHL: int: -268435456 +3781. ISHR: int: 0 +3782. IUSHR: int: 0 +3783. IAND: int: 1153116 +3784. IOR: int: 123714815 +3785. IXOR: int: 122561699 +3786. I2L: long: 1423487 +3787. I2F: float: 1236124664 +3788. I2D: double: 4698864641831337984 +3789. INT2BYTE: byte: 127 +3790. INT2CHAR: char: 47231 +3791. INT2SHORT: short: -18305 +3792. not IFEQ +3793. not IFLT +3794. not IFLE +3795. not IF_ICMPEQ +3796. not IF_ICMPGT +3797. not IF_ICMPGE +3798. COND_ICMPEQ 1423487 == 0: 1 +3799. COND_ICMPNE 1423487 != 0: 0 +3800. COND_ICMPLT 1423487 < 0: 1 +3801. COND_ICMPLE 1423487 <= 0: 1 +3802. COND_ICMPGT 1423487 > 0: 0 +3803. COND_ICMPGE 1423487 >= 0: 0 +3804. COND_ICMPEQ 1423487 == 0: 0 +3805. COND_ICMPNE 1423487 != 0: 1 +3806. COND_ICMPLT 1423487 < 0: 0 +3807. COND_ICMPLE 1423487 <= 0: 0 +3808. COND_ICMPGT 1423487 > 0: 1 +3809. COND_ICMPGE 1423487 >= 0: 1 +3810. COND_ICMPEQ 1423487 == 0: 3 +3811. COND_ICMPNE 1423487 != 0: 2 +3812. COND_ICMPLT 1423487 < 0: 3 +3813. COND_ICMPLE 1423487 <= 0: 3 +3814. COND_ICMPGT 1423487 > 0: 2 +3815. COND_ICMPGE 1423487 >= 0: 2 +3816. COND_ICMPEQ 1423487 == 123444444: false +3817. COND_ICMPNE 1423487 != 123444444: true +3818. COND_ICMPLT 1423487 < 123444444: true +3819. COND_ICMPLE 1423487 <= 123444444: true +3820. COND_ICMPGT 1423487 > 123444444: false +3821. COND_ICMPGE 1423487 >= 123444444: false +3822. TESTINT CALLED WITH int: 2147483647 +3823. AND int: 1 +3824. IADD: int: -2147483648 +3825. ISUB: int: 2147483646 +3826. IMUL: int: 2147483647 +3827. IDIV: int: 2147483647 +3828. IREM: int: 0 +3829. INEG: int: -2147483647 +3830. ISHL: int: -2 +3831. ISHR: int: 1073741823 +3832. IUSHR: int: 1073741823 +3833. IAND: int: 1 +3834. IOR: int: 2147483647 +3835. IXOR: int: 2147483646 +3836. I2L: long: 2147483647 +3837. I2F: float: 1325400064 +3838. I2D: double: 4746794007244308480 +3839. INT2BYTE: byte: -1 +3840. INT2CHAR: char: 65535 +3841. INT2SHORT: short: -1 +3842. not IFEQ +3843. not IFLT +3844. not IFLE +3845. not IF_ICMPEQ +3846. not IF_ICMPLT +3847. not IF_ICMPLE +3848. COND_ICMPEQ 2147483647 == 0: 1 +3849. COND_ICMPNE 2147483647 != 0: 0 +3850. COND_ICMPLT 2147483647 < 0: 1 +3851. COND_ICMPLE 2147483647 <= 0: 1 +3852. COND_ICMPGT 2147483647 > 0: 0 +3853. COND_ICMPGE 2147483647 >= 0: 0 +3854. COND_ICMPEQ 2147483647 == 0: 0 +3855. COND_ICMPNE 2147483647 != 0: 1 +3856. COND_ICMPLT 2147483647 < 0: 0 +3857. COND_ICMPLE 2147483647 <= 0: 0 +3858. COND_ICMPGT 2147483647 > 0: 1 +3859. COND_ICMPGE 2147483647 >= 0: 1 +3860. COND_ICMPEQ 2147483647 == 0: 3 +3861. COND_ICMPNE 2147483647 != 0: 2 +3862. COND_ICMPLT 2147483647 < 0: 3 +3863. COND_ICMPLE 2147483647 <= 0: 3 +3864. COND_ICMPGT 2147483647 > 0: 2 +3865. COND_ICMPGE 2147483647 >= 0: 2 +3866. COND_ICMPEQ 2147483647 == 1: false +3867. COND_ICMPNE 2147483647 != 1: true +3868. COND_ICMPLT 2147483647 < 1: false +3869. COND_ICMPLE 2147483647 <= 1: false +3870. COND_ICMPGT 2147483647 > 1: true +3871. COND_ICMPGE 2147483647 >= 1: true +3872. TESTINT CALLED WITH int: 0 +3873. AND int: 2147483647 +3874. IADD: int: 2147483647 +3875. ISUB: int: -2147483647 +3876. IMUL: int: 0 +3877. IDIV: int: 0 +3878. IREM: int: 0 +3879. INEG: int: 0 +3880. ISHL: int: 0 +3881. ISHR: int: 0 +3882. IUSHR: int: 0 +3883. IAND: int: 0 +3884. IOR: int: 2147483647 +3885. IXOR: int: 2147483647 +3886. I2L: long: 0 +3887. I2F: float: 0 +3888. I2D: double: 0 +3889. INT2BYTE: byte: 0 +3890. INT2CHAR: char: 0 +3891. INT2SHORT: short: 0 +3892. not IFNE +3893. not IFLT +3894. not IFGT +3895. not IF_ICMPEQ +3896. not IF_ICMPGT +3897. not IF_ICMPGE +3898. COND_ICMPEQ 0 == 0: 0 +3899. COND_ICMPNE 0 != 0: 1 +3900. COND_ICMPLT 0 < 0: 1 +3901. COND_ICMPLE 0 <= 0: 0 +3902. COND_ICMPGT 0 > 0: 1 +3903. COND_ICMPGE 0 >= 0: 0 +3904. COND_ICMPEQ 0 == 0: 1 +3905. COND_ICMPNE 0 != 0: 0 +3906. COND_ICMPLT 0 < 0: 0 +3907. COND_ICMPLE 0 <= 0: 1 +3908. COND_ICMPGT 0 > 0: 0 +3909. COND_ICMPGE 0 >= 0: 1 +3910. COND_ICMPEQ 0 == 0: 2 +3911. COND_ICMPNE 0 != 0: 3 +3912. COND_ICMPLT 0 < 0: 3 +3913. COND_ICMPLE 0 <= 0: 2 +3914. COND_ICMPGT 0 > 0: 3 +3915. COND_ICMPGE 0 >= 0: 2 +3916. COND_ICMPEQ 0 == 2147483647: false +3917. COND_ICMPNE 0 != 2147483647: true +3918. COND_ICMPLT 0 < 2147483647: true +3919. COND_ICMPLE 0 <= 2147483647: true +3920. COND_ICMPGT 0 > 2147483647: false +3921. COND_ICMPGE 0 >= 2147483647: false +3922. TESTINT CALLED WITH int: 13107 +3923. AND int: 143444 +3924. IADD: int: 156551 +3925. ISUB: int: -130337 +3926. IMUL: int: 1880120508 +3927. IDIV: int: 0 +3928. IREM: int: 13107 +3929. INEG: int: -13107 +3930. ISHL: int: 858783744 +3931. ISHR: int: 0 +3932. IUSHR: int: 0 +3933. IAND: int: 12304 +3934. IOR: int: 144247 +3935. IXOR: int: 131943 +3936. I2L: long: 13107 +3937. I2F: float: 1179438080 +3938. I2D: double: 4668431263781093376 +3939. INT2BYTE: byte: 51 +3940. INT2CHAR: char: 13107 +3941. INT2SHORT: short: 13107 +3942. not IFEQ +3943. not IFLT +3944. not IFLE +3945. not IF_ICMPEQ +3946. not IF_ICMPGT +3947. not IF_ICMPGE +3948. COND_ICMPEQ 13107 == 0: 1 +3949. COND_ICMPNE 13107 != 0: 0 +3950. COND_ICMPLT 13107 < 0: 1 +3951. COND_ICMPLE 13107 <= 0: 1 +3952. COND_ICMPGT 13107 > 0: 0 +3953. COND_ICMPGE 13107 >= 0: 0 +3954. COND_ICMPEQ 13107 == 0: 0 +3955. COND_ICMPNE 13107 != 0: 1 +3956. COND_ICMPLT 13107 < 0: 0 +3957. COND_ICMPLE 13107 <= 0: 0 +3958. COND_ICMPGT 13107 > 0: 1 +3959. COND_ICMPGE 13107 >= 0: 1 +3960. COND_ICMPEQ 13107 == 0: 3 +3961. COND_ICMPNE 13107 != 0: 2 +3962. COND_ICMPLT 13107 < 0: 3 +3963. COND_ICMPLE 13107 <= 0: 3 +3964. COND_ICMPGT 13107 > 0: 2 +3965. COND_ICMPGE 13107 >= 0: 2 +3966. COND_ICMPEQ 13107 == 143444: false +3967. COND_ICMPNE 13107 != 143444: true +3968. COND_ICMPLT 13107 < 143444: true +3969. COND_ICMPLE 13107 <= 143444: true +3970. COND_ICMPGT 13107 > 143444: false +3971. COND_ICMPGE 13107 >= 143444: false +3972. TESTINT CALLED WITH int: 4444441 +3973. AND int: 12342 +3974. IADD: int: 4456783 +3975. ISUB: int: 4432099 +3976. IMUL: int: -981284026 +3977. IDIV: int: 360 +3978. IREM: int: 1321 +3979. INEG: int: -4444441 +3980. ISHL: int: 1178599424 +3981. ISHR: int: 1 +3982. IUSHR: int: 1 +3983. IAND: int: 4112 +3984. IOR: int: 4452671 +3985. IXOR: int: 4448559 +3986. I2L: long: 4444441 +3987. I2F: float: 1250402866 +3988. I2D: double: 4706530193160798208 +3989. INT2BYTE: byte: 25 +3990. INT2CHAR: char: 53529 +3991. INT2SHORT: short: -12007 +3992. not IFEQ +3993. not IFLT +3994. not IFLE +3995. not IF_ICMPEQ +3996. not IF_ICMPLT +3997. not IF_ICMPLE +3998. COND_ICMPEQ 4444441 == 0: 1 +3999. COND_ICMPNE 4444441 != 0: 0 +4000. COND_ICMPLT 4444441 < 0: 1 +4001. COND_ICMPLE 4444441 <= 0: 1 +4002. COND_ICMPGT 4444441 > 0: 0 +4003. COND_ICMPGE 4444441 >= 0: 0 +4004. COND_ICMPEQ 4444441 == 0: 0 +4005. COND_ICMPNE 4444441 != 0: 1 +4006. COND_ICMPLT 4444441 < 0: 0 +4007. COND_ICMPLE 4444441 <= 0: 0 +4008. COND_ICMPGT 4444441 > 0: 1 +4009. COND_ICMPGE 4444441 >= 0: 1 +4010. COND_ICMPEQ 4444441 == 0: 3 +4011. COND_ICMPNE 4444441 != 0: 2 +4012. COND_ICMPLT 4444441 < 0: 3 +4013. COND_ICMPLE 4444441 <= 0: 3 +4014. COND_ICMPGT 4444441 > 0: 2 +4015. COND_ICMPGE 4444441 >= 0: 2 +4016. COND_ICMPEQ 4444441 == 12342: false +4017. COND_ICMPNE 4444441 != 12342: true +4018. COND_ICMPLT 4444441 < 12342: false +4019. COND_ICMPLE 4444441 <= 12342: false +4020. COND_ICMPGT 4444441 > 12342: true +4021. COND_ICMPGE 4444441 >= 12342: true +4022. TESTINT CALLED WITH int: -2147483648 +4023. AND int: -1 +4024. IADD: int: 2147483647 +4025. ISUB: int: -2147483647 +4026. IMUL: int: -2147483648 +4027. IDIV: int: -2147483648 +4028. IREM: int: 0 +4029. INEG: int: -2147483648 +4030. ISHL: int: 0 +4031. ISHR: int: -1 +4032. IUSHR: int: 1 +4033. IAND: int: -2147483648 +4034. IOR: int: -1 +4035. IXOR: int: 2147483647 +4036. I2L: long: -2147483648 +4037. I2F: float: -822083584 +4038. I2D: double: -4476578029606273024 +4039. INT2BYTE: byte: 0 +4040. INT2CHAR: char: 0 +4041. INT2SHORT: short: 0 +4042. not IFEQ +4043. not IFGT +4044. not IFGE +4045. not IF_ICMPEQ +4046. not IF_ICMPGT +4047. not IF_ICMPGE +4048. COND_ICMPEQ -2147483648 == 0: 1 +4049. COND_ICMPNE -2147483648 != 0: 0 +4050. COND_ICMPLT -2147483648 < 0: 0 +4051. COND_ICMPLE -2147483648 <= 0: 0 +4052. COND_ICMPGT -2147483648 > 0: 1 +4053. COND_ICMPGE -2147483648 >= 0: 1 +4054. COND_ICMPEQ -2147483648 == 0: 0 +4055. COND_ICMPNE -2147483648 != 0: 1 +4056. COND_ICMPLT -2147483648 < 0: 1 +4057. COND_ICMPLE -2147483648 <= 0: 1 +4058. COND_ICMPGT -2147483648 > 0: 0 +4059. COND_ICMPGE -2147483648 >= 0: 0 +4060. COND_ICMPEQ -2147483648 == 0: 3 +4061. COND_ICMPNE -2147483648 != 0: 2 +4062. COND_ICMPLT -2147483648 < 0: 2 +4063. COND_ICMPLE -2147483648 <= 0: 2 +4064. COND_ICMPGT -2147483648 > 0: 3 +4065. COND_ICMPGE -2147483648 >= 0: 3 +4066. COND_ICMPEQ -2147483648 == -1: false +4067. COND_ICMPNE -2147483648 != -1: true +4068. COND_ICMPLT -2147483648 < -1: true +4069. COND_ICMPLE -2147483648 <= -1: true +4070. COND_ICMPGT -2147483648 > -1: false +4071. COND_ICMPGE -2147483648 >= -1: false +4072. ------------------- test longs +4073. TESTLONG called with long: 1 +4074. AND long: 2 +4075. LADD: long: 3 +4076. LSUB: long: -1 +4077. LMUL: long: 2 +4078. LDIV: long: 0 +4079. LREM: long: 1 +4080. LNEG: long: -1 +4081. LSHL: long: 4 +4082. LSHR: long: 0 +4083. LUSHR: long: 0 +4084. LAND: long: 0 +4085. LOR: long: 3 +4086. LXOR: long: 3 +4087. L2I: int: 1 +4088. L2F: float: 1065353216 +4089. L2D: double: 4607182418800017408 +4090. LCMP a == b : false +4091. LCMP a != b : true +4092. LCMP a < b : true +4093. LCMP a <= b : true +4094. LCMP a > b : false +4095. LCMP a >= b : false +4096. not IF_LCMPNE +4097. not IF_LCMPLT +4098. not IF_LCMPLE +4099. TESTLONG called with long: -1 +4100. AND long: 17 +4101. LADD: long: 16 +4102. LSUB: long: -18 +4103. LMUL: long: -17 +4104. LDIV: long: 0 +4105. LREM: long: -1 +4106. LNEG: long: 1 +4107. LSHL: long: -131072 +4108. LSHR: long: -1 +4109. LUSHR: long: 140737488355327 +4110. LAND: long: 17 +4111. LOR: long: -1 +4112. LXOR: long: -18 +4113. L2I: int: -1 +4114. L2F: float: -1082130432 +4115. L2D: double: -4616189618054758400 +4116. LCMP a == b : false +4117. LCMP a != b : true +4118. LCMP a < b : true +4119. LCMP a <= b : true +4120. LCMP a > b : false +4121. LCMP a >= b : false +4122. not IF_LCMPNE +4123. not IF_LCMPLT +4124. not IF_LCMPLE +4125. TESTLONG called with long: -24351 +4126. AND long: 24123 +4127. LADD: long: -228 +4128. LSUB: long: -48474 +4129. LMUL: long: -587419173 +4130. LDIV: long: -1 +4131. LREM: long: -228 +4132. LNEG: long: 24351 +4133. LSHL: long: 576460752303423488 +4134. LSHR: long: -1 +4135. LUSHR: long: 31 +4136. LAND: long: 33 +4137. LOR: long: -261 +4138. LXOR: long: -294 +4139. L2I: int: -24351 +4140. L2F: float: -960610816 +4141. L2D: double: -4550949270986948608 +4142. LCMP a == b : false +4143. LCMP a != b : true +4144. LCMP a < b : true +4145. LCMP a <= b : true +4146. LCMP a > b : false +4147. LCMP a >= b : false +4148. not IF_LCMPNE +4149. not IF_LCMPLT +4150. not IF_LCMPLE +4151. TESTLONG called with long: 4918923241323 +4152. AND long: -4423423234231423 +4153. LADD: long: -4418504310990100 +4154. LSUB: long: 4428342157472746 +4155. LMUL: long: -4222930371437023765 +4156. LDIV: long: 0 +4157. LREM: long: 4918923241323 +4158. LNEG: long: -4918923241323 +4159. LSHL: long: 9837846482646 +4160. LSHR: long: 2459461620661 +4161. LUSHR: long: 2459461620661 +4162. LAND: long: 451041567489 +4163. LOR: long: -4418955352557589 +4164. LXOR: long: -4419406394125078 +4165. L2I: int: 1185687403 +4166. L2F: float: 1418668246 +4167. L2D: double: 4796866980921322496 +4168. LCMP a == b : false +4169. LCMP a != b : true +4170. LCMP a < b : false +4171. LCMP a <= b : false +4172. LCMP a > b : true +4173. LCMP a >= b : true +4174. not IF_LCMPNE +4175. not IF_LCMPGT +4176. not IF_LCMPGE +4177. TESTLONG called with long: 0 +4178. AND long: 0 +4179. LADD: long: 0 +4180. LSUB: long: 0 +4181. LMUL: long: 0 +4182. divison by zero +4183. divison by zero +4184. LNEG: long: 0 +4185. LSHL: long: 0 +4186. LSHR: long: 0 +4187. LUSHR: long: 0 +4188. LAND: long: 0 +4189. LOR: long: 0 +4190. LXOR: long: 0 +4191. L2I: int: 0 +4192. L2F: float: 0 +4193. L2D: double: 0 +4194. LCMP a == b : true +4195. LCMP a != b : false +4196. LCMP a < b : false +4197. LCMP a <= b : true +4198. LCMP a > b : false +4199. LCMP a >= b : true +4200. not IF_LCMPEQ +4201. not IF_LCMPLE +4202. not IF_LCMPGE +4203. TESTLONG called with long: -1 +4204. AND long: -1 +4205. LADD: long: -2 +4206. LSUB: long: 0 +4207. LMUL: long: 1 +4208. LDIV: long: 1 +4209. LREM: long: 0 +4210. LNEG: long: 1 +4211. LSHL: long: -9223372036854775808 +4212. LSHR: long: -1 +4213. LUSHR: long: 1 +4214. LAND: long: -1 +4215. LOR: long: -1 +4216. LXOR: long: 0 +4217. L2I: int: -1 +4218. L2F: float: -1082130432 +4219. L2D: double: -4616189618054758400 +4220. LCMP a == b : true +4221. LCMP a != b : false +4222. LCMP a < b : false +4223. LCMP a <= b : true +4224. LCMP a > b : false +4225. LCMP a >= b : true +4226. not IF_LCMPEQ +4227. not IF_LCMPLE +4228. not IF_LCMPGE +4229. TESTLONG called with long: 1423487 +4230. AND long: 123444442344 +4231. LADD: long: 123445865831 +4232. LSUB: long: -123443018857 +4233. LMUL: long: 175721558898933528 +4234. LDIV: long: 0 +4235. LREM: long: 1423487 +4236. LNEG: long: -1423487 +4237. LSHL: long: 1565140508487974912 +4238. LSHR: long: 0 +4239. LUSHR: long: 0 +4240. LAND: long: 1355880 +4241. LOR: long: 123444509951 +4242. LXOR: long: 123443154071 +4243. L2I: int: 1423487 +4244. L2F: float: 1236124664 +4245. L2D: double: 4698864641831337984 +4246. LCMP a == b : false +4247. LCMP a != b : true +4248. LCMP a < b : true +4249. LCMP a <= b : true +4250. LCMP a > b : false +4251. LCMP a >= b : false +4252. not IF_LCMPNE +4253. not IF_LCMPLT +4254. not IF_LCMPLE +4255. TESTLONG called with long: 9223372036854775807 +4256. AND long: 1 +4257. LADD: long: -9223372036854775808 +4258. LSUB: long: 9223372036854775806 +4259. LMUL: long: 9223372036854775807 +4260. LDIV: long: 9223372036854775807 +4261. LREM: long: 0 +4262. LNEG: long: -9223372036854775807 +4263. LSHL: long: -2 +4264. LSHR: long: 4611686018427387903 +4265. LUSHR: long: 4611686018427387903 +4266. LAND: long: 1 +4267. LOR: long: 9223372036854775807 +4268. LXOR: long: 9223372036854775806 +4269. L2I: int: -1 +4270. L2F: float: 1593835520 +4271. L2D: double: 4890909195324358656 +4272. LCMP a == b : false +4273. LCMP a != b : true +4274. LCMP a < b : false +4275. LCMP a <= b : false +4276. LCMP a > b : true +4277. LCMP a >= b : true +4278. not IF_LCMPNE +4279. not IF_LCMPGT +4280. not IF_LCMPGE +4281. TESTLONG called with long: 0 +4282. AND long: 9223372036854775807 +4283. LADD: long: 9223372036854775807 +4284. LSUB: long: -9223372036854775807 +4285. LMUL: long: 0 +4286. LDIV: long: 0 +4287. LREM: long: 0 +4288. LNEG: long: 0 +4289. LSHL: long: 0 +4290. LSHR: long: 0 +4291. LUSHR: long: 0 +4292. LAND: long: 0 +4293. LOR: long: 9223372036854775807 +4294. LXOR: long: 9223372036854775807 +4295. L2I: int: 0 +4296. L2F: float: 0 +4297. L2D: double: 0 +4298. LCMP a == b : false +4299. LCMP a != b : true +4300. LCMP a < b : true +4301. LCMP a <= b : true +4302. LCMP a > b : false +4303. LCMP a >= b : false +4304. not IF_LCMPNE +4305. not IF_LCMPLT +4306. not IF_LCMPLE +4307. TESTLONG called with long: 13107 +4308. AND long: 143444 +4309. LADD: long: 156551 +4310. LSUB: long: -130337 +4311. LMUL: long: 1880120508 +4312. LDIV: long: 0 +4313. LREM: long: 13107 +4314. LNEG: long: -13107 +4315. LSHL: long: 13743685632 +4316. LSHR: long: 0 +4317. LUSHR: long: 0 +4318. LAND: long: 12304 +4319. LOR: long: 144247 +4320. LXOR: long: 131943 +4321. L2I: int: 13107 +4322. L2F: float: 1179438080 +4323. L2D: double: 4668431263781093376 +4324. LCMP a == b : false +4325. LCMP a != b : true +4326. LCMP a < b : true +4327. LCMP a <= b : true +4328. LCMP a > b : false +4329. LCMP a >= b : false +4330. not IF_LCMPNE +4331. not IF_LCMPLT +4332. not IF_LCMPLE +4333. TESTLONG called with long: 4444441 +4334. AND long: 12342 +4335. LADD: long: 4456783 +4336. LSUB: long: 4432099 +4337. LMUL: long: 54853290822 +4338. LDIV: long: 360 +4339. LREM: long: 1321 +4340. LNEG: long: -4444441 +4341. LSHL: long: 5062045981164437504 +4342. LSHR: long: 0 +4343. LUSHR: long: 0 +4344. LAND: long: 4112 +4345. LOR: long: 4452671 +4346. LXOR: long: 4448559 +4347. L2I: int: 4444441 +4348. L2F: float: 1250402866 +4349. L2D: double: 4706530193160798208 +4350. LCMP a == b : false +4351. LCMP a != b : true +4352. LCMP a < b : false +4353. LCMP a <= b : false +4354. LCMP a > b : true +4355. LCMP a >= b : true +4356. not IF_LCMPNE +4357. not IF_LCMPGT +4358. not IF_LCMPGE +4359. TESTLONG called with long: -9223372036854775808 +4360. AND long: -1 +4361. LADD: long: 9223372036854775807 +4362. LSUB: long: -9223372036854775807 +4363. LMUL: long: -9223372036854775808 +4364. LDIV: long: -9223372036854775808 +4365. LREM: long: 0 +4366. LNEG: long: -9223372036854775808 +4367. LSHL: long: 0 +4368. LSHR: long: -1 +4369. LUSHR: long: 1 +4370. LAND: long: -9223372036854775808 +4371. LOR: long: -1 +4372. LXOR: long: 9223372036854775807 +4373. L2I: int: 0 +4374. L2F: float: -553648128 +4375. L2D: double: -4332462841530417152 +4376. LCMP a == b : false +4377. LCMP a != b : true +4378. LCMP a < b : true +4379. LCMP a <= b : true +4380. LCMP a > b : false +4381. LCMP a >= b : false +4382. not IF_LCMPNE +4383. not IF_LCMPLT +4384. not IF_LCMPLE +4385. ------------------- test floats +4386. TESTFLOAT called with float: 1065353216 +4387. AND float: 1073917985 +4388. FADD: float: 1078112289 +4389. FSUB: float: -1081778110 +4390. FMUL: float: 1073917985 +4391. FDIV: float: 1056619533 +4392. FREM: float: 1065353216 +4393. F2I: int: 1 +4394. F2L: long: 1 +4395. F2D: double: 4607182418800017408 +4396. FCMP a!=b +4397. FCMP ab +4450. FCMP a>=b +4451. TESTFLOAT called with float: 1117388800 +4452. AND float: -1005928448 +4453. FADD: float: -1007747072 +4454. FSUB: float: 1142816768 +4455. FMUL: float: -953749760 +4456. FDIV: float: -1106374265 +4457. FREM: float: 1117388800 +4458. F2I: int: 77 +4459. F2L: long: 77 +4460. F2D: double: 4635118810238550016 +4461. FCMP a!=b +4462. FCMP a>b +4463. FCMP a>=b +4464. TESTFLOAT called with float: 1325400059 +4465. AND float: -922251744 +4466. FADD: float: 1325395721 +4467. FSUB: float: 1325402230 +4468. FMUL: float: -662204899 +4469. FDIV: float: -982402220 +4470. FREM: float: 1220539712 +4471. F2I: int: 2147483008 +4472. F2L: long: 2147483008 +4473. F2D: double: 4746794004564148224 +4474. FCMP a!=b +4475. FCMP a>b +4476. FCMP a>=b +4477. ------------------- test doubles +4478. TESTDOUBLE called with double: 4607182418800017408 +4479. AND double: 4611780594019562684 +4480. DADD: double: 4614032393833247932 +4481. DSUB: double: -4616000466870408840 +4482. DMUL: double: 4611780594019562684 +4483. DDIV: double: 4602493558463195825 +4484. DREM: double: 4607182418800017408 +4485. D2I: int: 1 +4486. D2L: long: 1 +4487. D2F: float: 1065353216 +4488. DCMP a!=b +4489. DCMP ab +4542. DCMP a>=b +4543. TESTDOUBLE called with double: 4635118810238550016 +4544. AND double: -4575278989408468992 +4545. DADD: double: -4576255355733934080 +4546. DSUB: double: 4648770346609016832 +4547. DMUL: double: -4547265769594945536 +4548. DDIV: double: -4629205426707555293 +4549. DREM: double: 4635118810238550016 +4550. D2I: int: 77 +4551. D2L: long: 77 +4552. D2F: float: 1117388800 +4553. DCMP a!=b +4554. DCMP a>b +4555. DCMP a>=b +4556. TESTDOUBLE called with double: 4746794004530593792 +4557. AND double: -4530355401018834944 +4558. DADD: double: 4746791675710406656 +4559. DSUB: double: 4746795170299641856 +4560. DMUL: double: -4390743814009516096 +4561. DDIV: double: -4562648441878701322 +4562. DREM: double: 4690497396998668288 +4563. D2I: int: 2147483000 +4564. D2L: long: 2147483000 +4565. D2F: float: 1325400059 +4566. DCMP a!=b +4567. DCMP a>b +4568. DCMP a>=b +4569. =================== end of test ========================= +4570. \ No newline at end of file -- 2.25.1