Logs for the as2js 0.1.39 tests

Tests started on Sat Jul 29 07:36:03 PM PDT 2023 and finished on Sat Jul 29 10:00:32 PM PDT 2023

Start running as2js tests v0.1.39 on Sat Jul 29 07:36:31 PM PDT 2023

as2js v0.1.39 [2073417]:unittest: seed is 1690684591
source directory: "/home/snapwebsites/snapcpp/contrib/as2js"
binary directory: "/home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD"
temporary directory: "/home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/tmp"
Randomness seeded to: 2120642024
SECTION: version: verify runtime vs compile time as2js version numbers
SECTION: floating_point: default constructor
SECTION: floating_point: basics with float
SECTION: floating_point: basics with double
SECTION: floating_point: special numbers
SECTION: floating_point_nearly_equal: exactly equal
SECTION: floating_point_nearly_equal: +/-1e-5
SECTION: floating_point_nearly_equal: +/-1e-6
SECTION: floating_point_nearly_equal: +/-1e-4
SECTION: floating_point_nearly_equal: very different
SECTION: integer: default constructor
SECTION: integer: int8_t
SECTION: integer: uint8_t
SECTION: integer: int16_t
SECTION: integer: uint16_t
SECTION: integer: int32_t
SECTION: integer: uint32_t
SECTION: integer: int64_t
SECTION: integer: uint64_t
SECTION: message_string: check message outputs (use --verbose to see dots while processing)
SECTION: message_operator: verify operators
SECTION: options: verify options
SECTION: string: empty string validity
SECTION: string: bad UTF-8 sequences
SECTION: string: check valid characters
SECTION: string: check surrogates (not valid UTF-32)
SECTION: string: check outside range (not valid UTF-32)
SECTION: string_number: empty string is 0, 0.0, and false
SECTION: string_number: a period alone is not a floating point number
SECTION: string_number: no integral part means not a floating point
SECTION: string_number: an exponent must be followed by a number
SECTION: string_number: 0x and 0X are not hexadecimal numbers
SECTION: string_number: integers -100,000 to +100,000
SECTION: string_number: floating points
SECTION: string_number: random 64 bits integers
SECTION: string_number: NULL value
SECTION: string_simplify: starting spaces
SECTION: string_simplify: ending spaces
SECTION: string_simplify: starting & ending spaces
SECTION: string_simplify: inside spaces
SECTION: string_simplify: simplify starting, inside, and ending spaces
SECTION: string_simplify: simplify spaces including newlines
SECTION: string_simplify: empty string becomes zero
SECTION: string_simplify: spaces only string becomes zero
SECTION: string_simplify: simplify number with spaces around
SECTION: string_simplify: simplify number with left over
SECTION: string_simplify: simplify positive number with left over
SECTION: string_simplify: simplify negative integer with left over
SECTION: string_simplify: simplify the positive number with exponent and left over
SECTION: string_simplify: simplify the positive number with positive exponent and left over
SECTION: string_simplify: simplify the negative number with negative exponent and left over
SECTION: string_simplify: simplify negative number with negative exponent and left over
SECTION: string_simplify: simplify negative number with large negative exponent and left over
SECTION: db_match: match strings
SECTION: db_element: type/filename
SECTION: db_element: errorneous data
SECTION: db_element: position
SECTION: db_package: add & find packages
SECTION: db_package: erroneous packages
SECTION: db_package: more bad data
SECTION: db_database: database
SECTION: db_database: invalid file
error:unknown-file:2:4::82: unexpected token (IDENTIFIER) found in a JSON input stream.
fatal:unknown-file:2:4::4: could not interpret this JSON input "".
SECTION: db_database: NULL db
SECTION: db_database: unexpected string
SECTION: db_database: invalid object
SECTION: input_stream: load from input string stream
SECTION: input_stream: load from input file stream
SECTION: input_stream: load from input file stream
SECTION: input_stream: end stream with a UTF-8 character
SECTION: input_stream_invalid_utf8: invalid UTF-8
SECTION: input_stream_short_utf8: invalid UTF-8 length
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x80) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x81) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x82) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x83) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x84) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x85) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x86) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x87) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x88) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x89) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x8a) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x8b) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x8c) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x8d) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x8e) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x8f) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x90) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x91) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x92) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x93) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x94) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x95) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x96) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x97) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x98) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x99) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x9a) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x9b) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x9c) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x9d) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x9e) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \x9f) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xa0) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xa1) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xa2) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xa3) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xa4) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xa5) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xa6) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xa7) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xa8) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xa9) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xaa) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xab) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xac) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xad) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xae) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xaf) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xb0) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xb1) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xb2) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xb3) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xb4) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xb5) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xb6) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xb7) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xb8) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xb9) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xba) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xbb) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xbc) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xbd) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xbe) found in input stream.
error:unknown-file:1::81: unrecognized UTF-8 character encoding (\xe0 \xbf) found in input stream.
SECTION: resources_basics: check paths & filenames
SECTION: resources_load_from_var: NULL value
SECTION: resources_load_from_local_config: check that the local as2js.rc gets picked up
SECTION: resources_load_from_user_config: NULL value
--- config path "/home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/tmp/home/.config" ---
SECTION: resources_load_from_system_config: NULL value
--- test_load_from_system_config() requires root access to modify the /etc/as2js directory ---
SECTION: resources_empty_home: NULL value
--- test_empty_home() not run, the other rc unit tests are not compatible with this test ---
SECTION: node_types: all types (defined in catch_node.ci)
SECTION: node_types: node types outside the defined range
SECTION: node_compare: NULL value
SECTION: node_conversions: simple
SECTION: node_conversions: NULL value
SECTION: node_conversions: special floating point values
SECTION: node_tree: basics
SECTION: node_tree: parent/child of any type
SECTION: node_tree: realistic tree
SECTION: node_tree: verify find_next_node() properly
SECTION: node_lock: verify lock counter (proper lock/unlock)
SECTION: node_lock: verify lock counter (missing unlock)
as2js: node lock/unlock success
terminate called without an active exception
as2js: node lock/unlock aborted
SECTION: node_parameter: verify node parameters
SECTION: node_position: verify position computation
SECTION: node_links: verify node linking
SECTION: node_variable: verify variables
SECTION: node_label: verify labelling
SECTION: node_attribute: verify setting attributes on nodes
SECTION: node_attribute_tree: check attributes in a tree
SECTION: node_display_all_types: display all types
SECTION: node_display_unicode_string: verify Unicode
SECTION: node_display_flags: verify flags get printed
SECTION: node_display_types_attributes: verify attributes get displayed
SECTION: node_display_tree: display a tree of nodes
SECTION: position_names: check filename
SECTION: position_names: function
SECTION: position_counters: default counters
SECTION: position_counters: increase counters
SECTION: position_counters: test reseting line number
SECTION: position_output: output without a filename
SECTION: position_output: with a filename
SECTION: json: NULL value
SECTION: json: TRUE value
SECTION: json: FALSE value
SECTION: json: INTEGER value
SECTION: json: FLOATING_POINT NaN value
SECTION: json: FLOATING_POINT value
SECTION: json: STRING value
SECTION: json: empty array
SECTION: json: random array value
SECTION: json: empty object
SECTION: json: random objects
SECTION: json: random objects and arrays
SECTION: json: positive numbers
SECTION: json: cannot open input
SECTION: json: cannot open output
SECTION: json: invalid data
SECTION: json: EOF error
SECTION: json: string name missing
SECTION: json: unquoted string
SECTION: json: number instead of string for name
SECTION: json: array instead of name
SECTION: json: object instead of name
SECTION: json: colon missing
SECTION: json: sub-list missing colon
SECTION: json: field repeated
SECTION: json: comma missing
SECTION: json: double comma
SECTION: json: negative string
SECTION: json: positive string
SECTION: json: missing comma
SECTION: json: missing comma in sub-array
SECTION: json: unexpected token
SECTION: json: canonicalize
SECTION: lexer_invalid_pointers: invalid options
SECTION: lexer_invalid_pointers: invalid input
SECTION: lexer_invalid_pointers: invalid options and input
SECTION: lexer_all_options: verify 100% of the options combos (use --verbose to see dots while processing)
SECTION: lexer_valid_strings: check quotes with '\0'
SECTION: lexer_valid_strings: check all characters (use --verbose to see dots while processing)
SECTION: lexer_valid_strings: line terminator inside strings
SECTION: lexer_invalid_strings: unterminated string
SECTION: lexer_invalid_strings: unterminated
SECTION: lexer_invalid_strings: unexpected newline
SECTION: lexer_invalid_strings: invalid escape sequences (use --verbose to see dots while processing)
SECTION: lexer_invalid_numbers: bad hexadecimal introducer (lowercase)
SECTION: lexer_invalid_numbers: bad hexadecimal introducer (uppercase)
SECTION: lexer_invalid_numbers: bad binary introducer (lowercase)
SECTION: lexer_invalid_numbers: bad binary introducer (uppercase)
SECTION: lexer_invalid_numbers: suffixes not available (7pm)
SECTION: lexer_invalid_numbers: suffixes not available (6em)
SECTION: lexer_invalid_numbers: suffixes not available (3.5in)
SECTION: lexer_invalid_numbers: suffixes not available (10.1em)
SECTION: lexer_invalid_numbers: suffixes not available (9.1e+j)
SECTION: lexer_invalid_numbers: suffixes not available (9.1e-k)
SECTION: lexer_invalid_numbers: suffixes not available (91e+j)
SECTION: lexer_identifiers: test all possible character as identifier (use --verbose to see dots while processing)
SECTION: lexer_invalid_input: punctuation (0x2FFF)
SECTION: lexer_invalid_input: punctuation (@)
SECTION: lexer_invalid_input: punctuation (#)
SECTION: lexer_invalid_input: unknown escape letter (0x2028)
SECTION: lexer_invalid_input: surrogates in utf8
SECTION: lexer_mixed_tokens: mixed tokens
error:unknown-file:23:36::64: the "=" operator is not available when extended operators value bit 1 is set (use extended_operators(2);); use ":=" instead.
SECTION: parser_array: verify JavaScript arrays
  -- working on "arrays with empty items" ................ OK

SECTION: parser_basics: verify JavaScript basic elements
  -- working on "empty program" ... OK
  -- working on "empty program with comments" ... OK
  -- working on "empty program with semi-colons" ... OK
  -- working on "unexpected "else" instruction" ... OK
  -- working on "unexpected "}" character" ... OK
  -- working on "empty package" ... OK

SECTION: parser_class: verify class extension
  -- working on "class with a valid invariant contract" ................ OK
  -- working on "class with a valid invariant contract (missing identifier)" ... OK
  -- working on "class with a valid invariant contract (missing colon)" ... OK
  -- working on "class without a name" ... OK
  -- working on "class with an invalid extend" ... OK
  -- working on "class not finished with '};'" ... OK
  -- working on "forward class declaration not finished with ';'" ... OK
  -- working on "class with a missing name followed by '{'" ... OK
  -- working on "class with a missing name followed by 'extends'" ... OK
  -- working on "class with a missing name followed by 'implements'" ... OK
  -- working on "an empty class" ... OK
  -- working on "class defined inside a package" ... OK
  -- working on "class derived from another and three interfaces" ... OK
  -- working on "class using extends after implements" ... OK
  -- working on "class using public instead of extends" ... OK
  -- working on "class using ':' and public instead of extends" ... OK
  -- working on "class using private instead of extends" ... OK
  -- working on "class using ':' and private instead of extends" ... OK
  -- working on "class using protected instead of extends" ... OK
  -- working on "class using ':' and protected instead of extends" ... OK
  -- working on "class using a colon (:) and extends" ... OK
  -- working on "class using a colon (:) and implements" ... OK
  -- working on "class using a colon (:) and an unknown keyword" ... OK
  -- working on "class using a spurious colon (:)" ... OK
  -- working on "class using two implements" ... OK

SECTION: parser_enum: verify enum extension
  -- working on "an empty enumeration" ... OK
  -- working on "forward enumeration definition" ... OK
  -- working on "forward enumeration without a name" ... OK
  -- working on ""forward" enumeration without a ';'" ... OK
  -- working on "enumeration starting with a ','" ... OK
  -- working on "enumeration with a duplicate ','" ... OK
  -- working on "enumeration with a missing identifier with assignment" ... OK
  -- working on "enumeration with a string instead of the identifier" ... OK
  -- working on "enumeration with two identifiers in a row" ... OK
  -- working on "enumeration missing the '}' at the end" ... OK
  -- working on "enumeration missing the '}' and ';' at the end" ... OK
  -- working on "enum assignment accepts conditional values" ................ OK

SECTION: parser_expression: verify special expressions
  -- working on "~!(a + b) -> ~(!(a + b))" ... OK
  -- working on "~~(a - b) -> ~(~(a - b))" ... OK
  -- working on "37.+(51)" ... OK
  -- working on "`template ${first * expression} and first middle ${ operations ** complexity + reached } $not $here ${another & expression} and finally the tail.`" ... OK
  -- working on "`\`head ${a+`start${sub/expression}end`+b} tail\`.`" ... OK

SECTION: parser_for: verify JavaScript for loops
  -- working on "forever loop" ................ OK
  -- working on "standard for loop and broken switch statements" ... OK
  -- working on "a few extra valid and invalid for loops" ................ OK
  -- working on "legal empty for() and while() statements" ... OK

SECTION: parser_function: verify JavaScript functions
  -- working on "'a+b' function" ................ OK
  -- working on "'a+b' operator" ................ OK
  -- working on "all operators redefined" ................ OK
  -- working on "'random' functions" ................ OK
  -- working on "getter with a variable" ... OK
  -- working on "setter without a variable" ... OK
  -- working on "setter with two variables" ... OK
  -- working on "invalid "out" with "..." in function parameter list" ... OK
  -- working on "invalid "out" with "const" in function parameter list" ... OK
  -- working on "invalid assignment to "..." in function parameter list" ................ OK
  -- working on "')' missing to close function parameter list" ... OK
  -- working on "',' missing to separate function parameters" ... OK
  -- working on "'...' must be last" ... OK
  -- working on "getter/setter cannot be an operator" ... OK
  -- working on "getter/setter expects an identifier, a string, or '('" ... OK
  -- working on "function expressions cannot be getters nor setters" ... OK
  -- working on "function cannot have more than one name" ... OK
  -- working on "function must be named" ... OK
  -- working on "else without an if() breaks the directive list" ... OK
  -- working on "two parameters separated by < and > instead of a comma" ... OK
  -- working on "valid and invalid function calls" ................ OK

SECTION: parser_if: verify JavaScript if()/else
  -- working on "valid and invalid if/else and goto" ................ OK
  -- working on "if without a block before the else inside a do/while loop" ................ OK
  -- working on "if a nearly equal b" ................ OK

SECTION: parser_pragma: verify pragma extension
  -- working on "verify all the pragma names" ... OK
  -- working on "verify all the pragma 'prima' tests" ................ OK
  -- working on "verify that unknown pragmas generate a debug" ................ OK
  -- working on "verify that setting or clearing a pragma results in the correct value" ................ OK
  -- working on "verify that (-) is invalid as a pragma parameter" ... OK
  -- working on "invalid list of stand alone attributes" ................ OK
  -- working on "colon by itself or with attributes" ... OK

SECTION: parser_regex: verify regular expressions
  -- working on "a=b/c" ... OK
  -- working on "a=b/c/d" ... OK
  -- working on "a=b~~/c/d" ... OK

SECTION: parser_synchronized: verify synchronized extension
  -- working on "synchronized statements" ... OK
  -- working on "synchronized errors" ... OK

SECTION: parser_switch: verify JavaScript switch
  -- working on "'switch' 'with' 'break' and 'continue'" ... OK
  -- working on "Invalid break/continue" ... OK

SECTION: parser_try_catch: verify JavaScript exception handling
  -- working on "Missing ':' after case expression, and try/catch" ... OK
  -- working on "catch(void) is not valid" ... OK
  -- working on "try/finally require a block" ... OK

SECTION: parser_type: verify type extensions
  -- working on "type with a range of integers" ... OK
  -- working on "a mod type" ... OK
  -- working on "a mod type using a string" ... OK
  -- working on "a mod type without the number" ... OK
  -- working on "a type without a string instead of a number (left)" ... OK
  -- working on "a type without a string instead of a number (right)" ... OK
  -- working on "a type with a float and an integer" ... OK
  -- working on "a type with an integer and a float" ... OK
  -- working on "type with '...' instead of '..'" ... OK
  -- working on "type with '...' instead of '..' and an inverted range" ... OK
  -- working on "type with '...' instead of '..' and floats" ... OK
  -- working on "type with '...' instead of '..' and inverted range of floats" ... OK

SECTION: parser_variable: verify JavaScript variable
  -- working on "list of variables" ... OK
  -- working on "list of variables" ... OK
  -- working on "list of constants" ... OK
  -- working on "variable missing its name" ... OK
  -- working on "variable of attributes" ... OK
  -- working on "constant and final without the "var" keyword" ... OK
  -- working on "constant and final with the "var" keyword" ... OK

SECTION: parser_while: verify JavaScript while
  -- working on "'while' with a broken block" ... OK
  -- working on "'while' with a broken block v2" ... OK
  -- working on "'while' with a broken block v3" ... OK
  -- working on "'while' with a broken block v4" ... OK
  -- working on "'while' with a broken block v5" ... OK
  -- working on "do loop without a while" ................ OK
  -- working on "do loop with its while missing '('" ................ OK
  -- working on "do loop with its while missing ')'" ................ OK
  -- working on "invalid while loops" ................ OK
  -- working on "illegal keywords in statements" ... OK

SECTION: parser_yield: verify JavaScript yield
  -- working on "Yield an expression" ... OK
  -- working on "Yield without the mandatory expression" ... OK

SECTION: parser_parser: verify other parser functionality (still mixed)
  -- working on "'{' missing after package name" ... OK
  -- working on "'}' missing after package directives" ... OK
  -- working on "invalid package name (ends with '.')" ... OK
  -- working on "invalid package name (includes keyword 'private')" ... OK
  -- working on "invalid package name (ends with 'private')" ... OK
  -- working on "import packages" ... OK
  -- working on "import packages: invalid name string/member mix" ... OK
  -- working on "import packages: invalid name, missing string or identifier" ... OK
  -- working on "import packages: * cannot be used when renaming a package" ... OK
  -- working on "import packages: * must be last" ... OK
  -- working on "import packages: * must be last" ... OK
  -- working on "import packages cannot include identifiers and strings" ... OK
  -- working on "import package names cannot end with a period" ... OK
  -- working on "import package cannot just be an asterisk" ... OK
  -- working on "import package cannot exclude and include at the same time" ... OK
  -- working on "import package cannot include and exclude at the same time" ... OK
  -- working on "import package extras not namespace, include, nor exclude" ... OK
  -- working on "import with an unexpected token after the comma" ... OK
  -- working on "import two commas in a row..." ... OK
  -- working on "import two period one after another (i.e. a range)..." ... OK
  -- working on "import three periods one after another (i.e. a rest)..." ... OK
  -- working on "use namespace" ... OK
  -- working on "namespace defining an enumeration" ... OK
  -- working on "namespace snapwebsites;" ... OK
  -- working on "namespace without a name makes things inside private" ... OK
  -- working on "namespace without a name and some attributes" ................ OK
  -- working on "namespace without a name and some attributes including 'private'" ... OK
  -- working on "conditional missing the ':' character" ... OK
  -- working on "scope in expression must be followed by an identifier" ................ OK
  -- working on "function call without the ')'" ... OK
  -- working on "array access without the ']'" ... OK
  -- working on "grouped expressions without the ')'" ... OK
  -- working on "array literal without the ']'" ... OK
  -- working on "object literal without the '}'" ... OK
  -- working on "object literal without all the ','" ... OK
  -- working on "object literal without all the ':'" ... OK
  -- working on "object literal without all the field names" ... OK
  -- working on "object literal with private/protected/public fields without a valid scope" ................ OK
  -- working on "object literal without ':' followed by '}'" ... OK
  -- working on "object literal without ':' followed by ';'" ... OK
  -- working on "object literal without ':' followed by ',' and '}'" ... OK
  -- working on "object literal without ':' followed by ',' and ';'" ... OK

SECTION: compiler_attributes_inherited: simple native class with a function operator
fatal:unknown-file:1::4: could not open output file "/test.db".
SECTION: compiler_all_operators: user class with all possible operators
SECTION: compiler_invalid_module_files: missing as2js.rc file
fatal:unknown-file:1::22: cannot find the "as2js.rc" file; the system default is usually put in "/etc/as2js/as2js.rc".
SECTION: compiler_invalid_module_files: with option, still missing as2js.rc file
fatal:unknown-file:1::22: cannot find the "as2js.rc" file; the system default is usually put in "/etc/as2js/as2js.rc".
SECTION: compiler_invalid_module_files: invalid path to scripts
fatal:as2js_init.ajs:1::66: module file "as2js_init.ajs" not found in any of the paths "".
SECTION: compiler_invalid_module_files: options pointer is required
SECTION: compiler_invalid_nodes: empty node does nothing
SECTION: compiler_invalid_nodes: only ROOT and PROGRAM are valid at the top
SECTION: compiler_class: verify class functionality
  -- working on "empty class" ................ OK
  -- working on "simple class with variable" ................ OK
  -- working on "simple class with function" ................ OK

SECTION: compiler_enum: verify enumerations
  -- working on "empty enum" ................ OK
  -- working on "well defined enum" ................ OK
  -- working on "well defined enum" ................ OK

SECTION: compiler_expression: verify expressions
  -- working on "simple assignment expression" ................ OK
  -- working on "expression with reference to "wrong" variable" ................ OK
  -- working on "try operator + & * instead of direct + & *" ................ OK

SECTION: optimizer_additive: additive (+, -)
  -- working on "+a -> a, with an integer" ... OK
  -- working on "+a -> a, with a float" ... OK
  -- working on "+a -> a, with a undefined" ... OK
  -- working on "+a -> a, with a null" ... OK
  -- working on "+a -> a, with an empty string" ... OK
  -- working on "+a -> a, with a string not representing a number" ... OK
  -- working on "+a -> a, with a string representing an integer" ... OK
  -- working on "+a -> a, with a string representing a float" ... OK
  -- working on "+a -> a, with true" ... OK
  -- working on "+a -> a, with false" ... OK
  -- working on "+a -> a, with an object" ... OK
  -- working on "-a -> a, with an integer" ... OK
  -- working on "-a -> a, with a float" ... OK
  -- working on "-a -> a, with null" ... OK
  -- working on "-a -> a, with undefined" ... OK
  -- working on "-a -> a, with an empty string" ... OK
  -- working on "-a -> a, with a string not representing a number" ... OK
  -- working on "-a -> a, with a string representing an integer" ... OK
  -- working on "-a -> a, with a string representing a float" ... OK
  -- working on "-a -> a, with true" ... OK
  -- working on "-a -> a, with false" ... OK
  -- working on "3 - a -> 3 - a, with integers" ... OK
  -- working on "a + 3 -> sum(a, 3), with integers" ... OK
  -- working on "a + 3.5 -> sum(a, 3.5), with floats" ... OK
  -- working on "3.5 - a -> 3.5 - a, with floats" ... OK
  -- working on "a + NaN -> sum(a, NaN), with floats" ... OK
  -- working on "a + b -> sum(a, b), with integers" ... OK
  -- working on "a + b -> sum(a, b), with integer/float" ... OK
  -- working on "a + b -> sum(a, b), with float/integer" ... OK
  -- working on "a + b -> sum(a, b), with floats" ... OK
  -- working on "a - b -> subtract(a, b), with integers" ... OK
  -- working on "a - b -> subtract(a, b), with integer/float" ... OK
  -- working on "a - b -> subtract(a, b), with float/integer" ... OK
  -- working on "a - b -> subtract(a, b), with floats" ... OK
  -- working on "0 - a -> -a, with integer" ... OK
  -- working on "0.0 - a -> -a, with float" ... OK
  -- working on "a + b -> concatenate(a, b), with strings" ... OK
  -- working on "a + b -> concatenate(a, b), with string/true" ... OK
  -- working on "a + b -> concatenate(a, b), with true/string" ... OK
  -- working on "a + b -> concatenate(a, b), with string/false" ... OK
  -- working on "a + b -> concatenate(a, b), with false/string" ... OK
  -- working on "a + b -> concatenate(a, b), with string/null" ... OK
  -- working on "a + b -> concatenate(a, b), with null/string" ... OK
  -- working on "a + b -> concatenate(a, b), with string/undefined" ... OK
  -- working on "a + b -> concatenate(a, b), with undefined/string" ... OK
  -- working on "a + b -> concatenate(a, b), with string/integer" ... OK
  -- working on "a + b -> concatenate(a, b), with integer/string" ... OK
  -- working on "a + b -> concatenate(a, b), with string/float" ... OK
  -- working on "a + b -> concatenate(a, b), with float/string" ... OK
  -- working on """ - a -> "" - a" ... OK

SECTION: parser_array: assignments (=, +=, -=, etc.)
  -- working on "a = a; -> a" ... OK
  -- working on "a = b; -> a = b;" ... OK
  -- working on "a -= NaN; -> a = NaN;" ... OK
  -- working on "a *= NaN; -> a = NaN;" ... OK
  -- working on "a /= NaN; -> a = NaN;" ... OK
  -- working on "a %= NaN; -> a = NaN;" ... OK
  -- working on "a **= NaN; -> a = NaN;" ... OK
  -- working on "a  a;" ... OK
  -- working on "a >?= NaN; -> a;" ... OK
  -- working on "a &= NaN; -> a = 0;" ... OK
  -- working on "a |= NaN; -> a = 0;" ... OK
  -- working on "a ^= NaN; -> a = 0;" ... OK
  -- working on "a <<= NaN; -> a = 0;" ... OK
  -- working on "a >>= NaN; -> a = 0;" ... OK
  -- working on "a >>>= NaN; -> a = 0;" ... OK
  -- working on "a <%= NaN; -> a = 0;" ... OK
  -- working on "a >%= NaN; -> a = 0;" ... OK

SECTION: optimizer_bitwise: bitwise (&, |, ^)
  -- working on "0xAFC3 & 0x5355 -> 0x341" ... OK
  -- working on "0xAFC3 & NaN -> 0" ... OK
  -- working on "0xAFC3 | 0x5355 -> 0xFFD7" ... OK
  -- working on "0xAFC3 | 0x5355 -> 0x5355" ... OK
  -- working on "0xAFC3 ^ 0x5355 -> 0xFC96" ... OK
  -- working on "0xAFC3 ^ NaN -> 0xAFC3" ... OK
  -- working on "NaN ^ 0xAFC3 -> 0xAFC3" ... OK
  -- working on "number << number -> number" ... OK
  -- working on "number << -number -> number" ... OK
  -- working on "number << number + 32 -> number" ... OK
  -- working on "number >> number -> number" ... OK
  -- working on "number >> -number -> number" ... OK
  -- working on "number >> number + 32 -> number" ... OK
  -- working on "number >> number -> number" ... OK
  -- working on "number >>> number -> number" ... OK
  -- working on "number >>> -number -> number" ... OK
  -- working on "number >>> number + 32 -> number" ... OK
  -- working on "number >>> number -> number" ... OK
  -- working on "number <% number -> number" ... OK
  -- working on "number <% -number -> number" ... OK
  -- working on "number <% number + 32 -> number" ... OK
  -- working on "number >% number -> number" ... OK
  -- working on "number >% -number -> number" ... OK
  -- working on "number >% number + 32-> number" ... OK
  -- working on "-1000 >% 4 -> 0x8FFFFFC1" ... OK
  -- working on "0xF195BAFC3 >% NaN -> 0x195BAFC3" ... OK
  -- working on "0xF195BAFC3 >% -NaN -> 0x195BAFC3" ... OK
  -- working on "0xF195BAFC3 >% Infinity -> 0x195BAFC3" ... OK
  -- working on "0xF195BAFC3 >% -Infinity -> 0x195BAFC3" ... OK
  -- working on "~~~(a + b) -> ~(a +b)" ... OK
  -- working on "~0xF195BAFC3 -> 0x0E6A4503C" ... OK
  -- working on "~0.0 -> 0xFFFFFFFF" ... OK
  -- working on "a & 0xFFFFFFFF -> a | 0" ... OK
  -- working on "0xFFFFFFFF & a -> 0 | a" ... OK
  -- working on "-1 & a -> 0 | a" ... OK
  -- working on "-2 & a -> 0 | a" ... OK
  -- working on "-1.0 & a -> 0 | a" ... OK
  -- working on "-2.0 & a -> 0 | a" ... OK
  -- working on "a ^ 0xFFFFFFFF -> ~a" ... OK
  -- working on "-a ^ 0xFFFFFFFF -> ~-a" ... OK
  -- working on "-1 ^ a -> ~a" ... OK
  -- working on "-1.0 ^ a -> ~a" ... OK

SECTION: optimizer_compare: compare (<=>)
  -- working on ""ABC" <=> "XYZ" -> -1" ... OK
  -- working on ""XYZ" <=> "ABC" -> 1" ... OK
  -- working on ""ABC" <=> "ABC" -> 0" ... OK
  -- working on "33 <=> 44 -> -1" ... OK
  -- working on "44 <=> 33 -> 1" ... OK
  -- working on "33 <=> 33 -> 0" ... OK
  -- working on "3.3 <=> 4.4 -> -1" ... OK
  -- working on "4.4 <=> 3.3 -> 1" ... OK
  -- working on "3.3 <=> 3.3 -> 0" ... OK
  -- working on ""3.3" <=> 4.4 -> -1" ... OK
  -- working on ""4.4" <=> 3.3 -> 1" ... OK
  -- working on ""3.3" <=> 3.3 -> 0" ... OK
  -- working on "3.3 <=> "4.4" -> -1" ... OK
  -- working on "4.4 <=> "3.3" -> 1" ... OK
  -- working on "3.3 <=> "3.3" -> 0" ... OK
  -- working on "-Infinity <=> +Infinity -> -1" ... OK
  -- working on "+Infinity <=> -Infinity -> 1" ... OK
  -- working on "+Infinity <=> +Infinity -> 0" ... OK
  -- working on "-Infinity <=> -Infinity -> 0" ... OK
  -- working on "33 <=> "XYZ" -> undefined" ... OK
  -- working on ""ABC" <=> 4.4 -> undefined" ... OK
  -- working on "+Infinity <=> 'not a number' -> undefined" ... OK
  -- working on "'not a number' <=> -Infinity -> undefined" ... OK
  -- working on "null <=> undefined -> 0" ... OK
  -- working on "null <=> 0 -> 0" ... OK
  -- working on "0.0 <=> undefined -> undefined" ... OK

SECTION: optimizer_conditional: conditional (?:, ?)
  -- working on "true ? a : b -> a" ... OK
  -- working on "false ? a : b -> b" ... OK
  -- working on "3  3" ... OK
  -- working on "NaN  10.3" ... OK
  -- working on "10.3  10.3" ... OK
  -- working on "3 >? 10 -> 10" ... OK
  -- working on "NaN >? a -> a" ... OK
  -- working on "10.3 >? NaN -> 10.3" ... OK

SECTION: optimizer_equality: equality (==, !=)
  -- working on ""ABC" == "XYZ" -> false" ... OK
  -- working on ""XYZ" == "ABC" -> false" ... OK
  -- working on ""ABC" == "ABC" -> true" ... OK
  -- working on "33 == 44 -> false" ... OK
  -- working on "44 == 33 -> false" ... OK
  -- working on "33 == 33 -> true" ... OK
  -- working on "3.3 == 4.4 -> false" ... OK
  -- working on "4.4 == 3.3 -> false" ... OK
  -- working on "3.3 == 3.3 -> true" ... OK
  -- working on ""3.3" == 4.4 -> false" ... OK
  -- working on ""4.4" == 3.3 -> false" ... OK
  -- working on ""3.3" == 3.3 -> true" ... OK
  -- working on "3.3 == "4.4" -> false" ... OK
  -- working on "4.4 == "3.3" -> false" ... OK
  -- working on "3.3 == "3.3" -> true" ... OK
  -- working on "-Infinity == +Infinity -> false" ... OK
  -- working on "+Infinity == -Infinity -> false" ... OK
  -- working on "+Infinity == +Infinity -> true" ... OK
  -- working on "-Infinity == -Infinity -> true" ... OK
  -- working on ""ABC" === "XYZ" -> false" ... OK
  -- working on ""XYZ" === "ABC" -> false" ... OK
  -- working on ""ABC" === "ABC" -> true" ... OK
  -- working on "33 === 44 -> false" ... OK
  -- working on "44 === 33 -> false" ... OK
  -- working on "33 === 33 -> true" ... OK
  -- working on "3.3 === 4.4 -> false" ... OK
  -- working on "4.4 === 3.3 -> false" ... OK
  -- working on "3.3 === 3.3 -> true" ... OK
  -- working on ""3.3" === 4.4 -> false" ... OK
  -- working on ""4.4" === 3.3 -> false" ... OK
  -- working on ""3.3" === 3.3 -> false" ... OK
  -- working on "3.3 === "4.4" -> false" ... OK
  -- working on "4.4 === "3.3" -> false" ... OK
  -- working on "3.3 === "3.3" -> false" ... OK
  -- working on "-Infinity === +Infinity -> false" ... OK
  -- working on "+Infinity === -Infinity -> false" ... OK
  -- working on "+Infinity === +Infinity -> true" ... OK
  -- working on "-Infinity === -Infinity -> true" ... OK
  -- working on ""ABC" != "XYZ" -> true" ... OK
  -- working on ""XYZ" != "ABC" -> true" ... OK
  -- working on ""ABC" != "ABC" -> false" ... OK
  -- working on "33 != 44 -> true" ... OK
  -- working on "44 != 33 -> true" ... OK
  -- working on "33 != 33 -> false" ... OK
  -- working on "3.3 != 4.4 -> true" ... OK
  -- working on "4.4 != 3.3 -> true" ... OK
  -- working on "3.3 != 3.3 -> false" ... OK
  -- working on ""3.3" != 4.4 -> true" ... OK
  -- working on ""4.4" != 3.3 -> true" ... OK
  -- working on ""3.3" != 3.3 -> false" ... OK
  -- working on "3.3 != "4.4" -> true" ... OK
  -- working on "4.4 != "3.3" -> true" ... OK
  -- working on "3.3 != "3.3" -> false" ... OK
  -- working on "-Infinity != +Infinity -> true" ... OK
  -- working on "+Infinity != -Infinity -> true" ... OK
  -- working on "+Infinity != +Infinity -> false" ... OK
  -- working on "-Infinity != -Infinity -> false" ... OK
  -- working on ""ABC" !== "XYZ" -> true" ... OK
  -- working on ""XYZ" !== "ABC" -> true" ... OK
  -- working on ""ABC" !== "ABC" -> false" ... OK
  -- working on "33 !== 44 -> true" ... OK
  -- working on "44 !== 33 -> true" ... OK
  -- working on "33 !== 33 -> false" ... OK
  -- working on "3.3 !== 4.4 -> true" ... OK
  -- working on "4.4 !== 3.3 -> true" ... OK
  -- working on "3.3 !== 3.3 -> false" ... OK
  -- working on ""3.3" !== 4.4 -> true" ... OK
  -- working on ""4.4" !== 3.3 -> true" ... OK
  -- working on ""3.3" !== 3.3 -> true" ... OK
  -- working on "3.3 !== "4.4" -> true" ... OK
  -- working on "4.4 !== "3.3" -> true" ... OK
  -- working on "3.3 !== "3.3" -> true" ... OK
  -- working on "-Infinity !== +Infinity -> true" ... OK
  -- working on "+Infinity !== -Infinity -> true" ... OK
  -- working on "+Infinity !== +Infinity -> false" ... OK
  -- working on "-Infinity !== -Infinity -> false" ... OK
  -- working on "33 == "XYZ" -> false" ... OK
  -- working on ""ABC" === 4.4 -> false" ... OK
  -- working on "+Infinity != 'not a number' -> false" ... OK
  -- working on "'not a number' !== -Infinity -> true" ... OK
  -- working on ""ABC" ~~ "XYZ" -> false" ... OK
  -- working on ""XYZ" ~~ "ABC" -> false" ... OK
  -- working on ""ABC" ~~ "ABC" -> true" ... OK
  -- working on "33 ~~ 44 -> false" ... OK
  -- working on "44 ~~ 33 -> false" ... OK
  -- working on "33 ~~ 33 -> true" ... OK
  -- working on "3.3 ~~ 4.4 -> false" ... OK
  -- working on "4.4 ~~ 3.3 -> false" ... OK
  -- working on "3.3 ~~ 3.3 -> true" ... OK
  -- working on ""3.3" ~~ 4.4 -> false" ... OK
  -- working on ""4.4" ~~ 3.3 -> false" ... OK
  -- working on ""3.3" ~~ 3.3 -> true" ... OK
  -- working on ""3.3xyz" ~~ 3.3 -> true" ... OK
  -- working on "3.3 ~~ "4.4" -> false" ... OK
  -- working on "4.4 ~~ "3.3" -> false" ... OK
  -- working on "4.4 ~~ "   3.3   " -> false" ... OK
  -- working on "3.3 ~~ "3.3" -> true" ... OK
  -- working on "3.3 ~~ " 3.3 and more" -> true" ... OK
  -- working on "-Infinity ~~ +Infinity -> false" ... OK
  -- working on "+Infinity ~~ -Infinity -> false" ... OK
  -- working on "+Infinity ~~ +Infinity -> true" ... OK
  -- working on "-Infinity ~~ -Infinity -> true" ... OK

SECTION: optimizer_logical: logical (&&, ||, ^^)
  -- working on "!true -> false" ... OK
  -- working on "!false -> true" ... OK
  -- working on "!null -> true" ... OK
  -- working on "!undefined -> true" ... OK
  -- working on "!0 -> true" ... OK
  -- working on "!65 -> false" ... OK
  -- working on "!0.0 -> true" ... OK
  -- working on "!6.5 -> false" ... OK
  -- working on "!"" -> true" ... OK
  -- working on "!"empty" -> false" ... OK
  -- working on "!!!a -> !a" ... OK
  -- working on "true && a -> a" ... OK
  -- working on ""true" && a -> a" ... OK
  -- working on "104 && a -> a" ... OK
  -- working on "1.04 && a -> a" ... OK
  -- working on "false && a -> false" ... OK
  -- working on "'' && a -> ''" ... OK
  -- working on "0 && a -> 0" ... OK
  -- working on "0.0 && a -> 0.0" ... OK
  -- working on "null && a -> null" ... OK
  -- working on "undefined && a -> undefined" ... OK
  -- working on "undefined && a -> undefined" ... OK
  -- working on "true || a -> true" ... OK
  -- working on ""true" || a -> a" ... OK
  -- working on "104 || a -> 104" ... OK
  -- working on "1.04 || a -> 1.04" ... OK
  -- working on "false || a -> a" ... OK
  -- working on "'' || a -> a" ... OK
  -- working on "0 || a -> a" ... OK
  -- working on "0.0 || a -> a" ... OK
  -- working on "null || a -> a" ... OK
  -- working on "undefined || a -> a" ... OK
  -- working on "true ^^ true -> false" ... OK
  -- working on "false ^^ false -> false" ... OK
  -- working on "false ^^ true -> true" ... OK
  -- working on "true ^^ false -> true" ... OK
  -- working on "1.33 ^^ false -> 1.33" ... OK
  -- working on "null ^^ 45 -> 45" ... OK
  -- working on ""here" ^^ undefined -> "here"" ... OK
  -- working on "0 ^^ "here" -> "here"" ... OK
  -- working on "0 ^^ 0.0 -> false" ... OK
  -- working on ""too" ^^ "much" -> false" ... OK
  -- working on "if(!a) b else c -> if(a) c else b" ... OK
  -- working on "if(!!a) -> if(a)" ... OK
  -- working on "while(!!a) -> while(a)" ... OK
  -- working on "for(a; !!b; c) d -> for(a; b; c) d" ... OK
  -- working on "!!a ? b : c -> a ? b : c" ... OK
  -- working on "a && b || c -> a ? b : c" ... OK

SECTION: optimizer_match: match (~=)
  -- working on ""ABC" ~= /[A-Z]+/ -> true" ... OK
  -- working on ""ABC" ~! /[0-9]+/ -> true" ... OK

SECTION: optimizer_multiplicative: multiplicative (*, /, %)
  -- working on "55 * 123 -> 6765" ... OK
  -- working on "5.5 * 123 -> 676.5" ... OK
  -- working on "55 * 1.23 -> 67.65" ... OK
  -- working on "5.5 * 1.23 -> 6.765" ... OK
  -- working on "5.5 * NaN -> NaN" ... OK
  -- working on "NaN * 1.23 -> NaN" ... OK
  -- working on "NaN * a -> NaN" ... OK
  -- working on "a * NaN -> NaN" ... OK
  -- working on "a() * NaN -> a() * NaN" ... OK
  -- working on "NaN * a() -> NaN * a()" ... OK
  -- working on "123 / 7 -> 17" ... OK
  -- working on "12.3 / 7 -> 1.7" ... OK
  -- working on "123 / 0.7 -> 1.7" ... OK
  -- working on "1.23 / 0.1 -> 12.3" ... OK
  -- working on "1.23 / NaN -> NaN" ... OK
  -- working on "NaN / 0.1 -> NaN" ... OK
  -- working on "NaN / a -> NaN" ... OK
  -- working on "a / NaN -> NaN" ... OK
  -- working on "123 / 0 -> Infinity" ... OK
  -- working on "-123 / 0 -> -Infinity" ... OK
  -- working on "123 % 31 -> 30" ... OK
  -- working on "49.2 % 31 -> 18.2" ... OK
  -- working on "123 % 3.1 -> 21.0" ... OK
  -- working on "12.3 % 3.1 -> 3.0" ... OK
  -- working on "12.3 % NaN -> NaN" ... OK
  -- working on "NaN % 12.3 -> NaN" ... OK
  -- working on "NaN % a -> NaN" ... OK
  -- working on "a % NaN -> NaN" ... OK
  -- working on "123 % 0 -> NaN" ... OK
  -- working on "-123 % 0 -> NaN" ... OK
  -- working on "123 ** 3 -> 1860867" ... OK
  -- working on "1.23 ** 3 -> 1.860867" ... OK
  -- working on "123 ** 0.3 -> 4.236151986" ... OK
  -- working on "12.3 ** 0.3 -> 2.123105295" ... OK
  -- working on "12.3 ** NaN -> NaN" ... OK
  -- working on "NaN ** 12.3 -> NaN" ... OK
  -- working on "a ** NaN -> NaN" ... OK
  -- working on "NaN ** a -> NaN" ... OK
  -- working on "a() * 3.5 -> a() * 3.5" ... OK
  -- working on "3.5 * a() -> 3.5 * a()" ... OK

SECTION: optimizer_relational: relational (<, <=, >, >=)
  -- working on ""ABC" < "XYZ" -> true" ... OK
  -- working on ""XYZ" < "ABC" -> false" ... OK
  -- working on ""ABC" < "ABC" -> false" ... OK
  -- working on "33 < 44 -> true" ... OK
  -- working on "44 < 33 -> false" ... OK
  -- working on "33 < 33 -> false" ... OK
  -- working on "3.3 < 4.4 -> true" ... OK
  -- working on "4.4 < 3.3 -> false" ... OK
  -- working on "3.3 < 3.3 -> false" ... OK
  -- working on ""3.3" < 4.4 -> true" ... OK
  -- working on ""4.4" < 3.3 -> false" ... OK
  -- working on ""3.3" < 3.3 -> false" ... OK
  -- working on "3.3 < "4.4" -> true" ... OK
  -- working on "4.4 < "3.3" -> false" ... OK
  -- working on "3.3 < "3.3" -> false" ... OK
  -- working on "-Infinity < +Infinity -> true" ... OK
  -- working on "+Infinity < -Infinity -> false" ... OK
  -- working on "+Infinity < +Infinity -> false" ... OK
  -- working on "-Infinity < -Infinity -> false" ... OK
  -- working on ""ABC" <= "XYZ" -> true" ... OK
  -- working on ""XYZ" <= "ABC" -> false" ... OK
  -- working on ""ABC" <= "ABC" -> true" ... OK
  -- working on "33 <= 44 -> true" ... OK
  -- working on "44 <= 33 -> false" ... OK
  -- working on "33 <= 33 -> true" ... OK
  -- working on "3.3 <= 4.4 -> true" ... OK
  -- working on "4.4 <= 3.3 -> false" ... OK
  -- working on "3.3 <= 3.3 -> true" ... OK
  -- working on ""3.3" <= 4.4 -> true" ... OK
  -- working on ""4.4" <= 3.3 -> false" ... OK
  -- working on ""3.3" <= 3.3 -> true" ... OK
  -- working on "3.3 <= "4.4" -> true" ... OK
  -- working on "4.4 <= "3.3" -> false" ... OK
  -- working on "3.3 <= "3.3" -> true" ... OK
  -- working on "-Infinity <= +Infinity -> true" ... OK
  -- working on "+Infinity <= -Infinity -> false" ... OK
  -- working on "+Infinity <= +Infinity -> true" ... OK
  -- working on "-Infinity <= -Infinity -> true" ... OK
  -- working on ""ABC" > "XYZ" -> false" ... OK
  -- working on ""XYZ" > "ABC" -> true" ... OK
  -- working on ""ABC" > "ABC" -> false" ... OK
  -- working on "33 > 44 -> false" ... OK
  -- working on "44 > 33 -> true" ... OK
  -- working on "33 > 33 -> false" ... OK
  -- working on "3.3 > 4.4 -> false" ... OK
  -- working on "4.4 > 3.3 -> true" ... OK
  -- working on "3.3 > 3.3 -> false" ... OK
  -- working on ""3.3" > 4.4 -> false" ... OK
  -- working on ""4.4" > 3.3 -> true" ... OK
  -- working on ""3.3" > 3.3 -> false" ... OK
  -- working on "3.3 > "4.4" -> false" ... OK
  -- working on "4.4 > "3.3" -> true" ... OK
  -- working on "3.3 > "3.3" -> false" ... OK
  -- working on "-Infinity > +Infinity -> false" ... OK
  -- working on "+Infinity > -Infinity -> true" ... OK
  -- working on "+Infinity > +Infinity -> false" ... OK
  -- working on "-Infinity > -Infinity -> false" ... OK
  -- working on ""ABC" >= "XYZ" -> false" ... OK
  -- working on ""XYZ" >= "ABC" -> true" ... OK
  -- working on ""ABC" >= "ABC" -> true" ... OK
  -- working on "33 >= 44 -> false" ... OK
  -- working on "44 >= 33 -> true" ... OK
  -- working on "33 >= 33 -> true" ... OK
  -- working on "3.3 >= 4.4 -> false" ... OK
  -- working on "4.4 >= 3.3 -> true" ... OK
  -- working on "3.3 >= 3.3 -> true" ... OK
  -- working on ""3.3" >= 4.4 -> false" ... OK
  -- working on ""4.4" >= 3.3 -> true" ... OK
  -- working on ""3.3" >= 3.3 -> true" ... OK
  -- working on "3.3 >= "4.4" -> false" ... OK
  -- working on "4.4 >= "3.3" -> true" ... OK
  -- working on "3.3 >= "3.3" -> true" ... OK
  -- working on "-Infinity >= +Infinity -> false" ... OK
  -- working on "+Infinity >= -Infinity -> true" ... OK
  -- working on "+Infinity >= +Infinity -> true" ... OK
  -- working on "-Infinity >= -Infinity -> true" ... OK
  -- working on "33 < "XYZ" -> false" ... OK
  -- working on ""ABC" <= 4.4 -> false" ... OK
  -- working on "+Infinity > 'not a number' -> false" ... OK
  -- working on "'not a number' >= -Infinity -> false" ... OK

SECTION: optimizer_statements: statement
  -- working on "if(true) a -> a" ... OK
  -- working on "if(true) a else b -> a" ... OK
  -- working on "if(false) a -> " ... OK
  -- working on "if(false) a else b -> b" ... OK
  -- working on "while(true) a -> for(;;) a" ... OK
  -- working on "while(false) a -> ;" ... OK
  -- working on "do { a; } while(true); -> for(;;) a;" ... OK
  -- working on "do { a; } while(false) -> a;" ... OK

SECTION: binary_integer_operators: test binary operators for integers
warning:unknown-file:1::66: standalone expressions missing in user script; return value will be 0 (TODO: this message still occurs for statements that properly return a value, i.e. assignments, increments, etc.).
----- start flattening...
----- end flattening... (8)
----- start generating... (8)
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
  ++  0x60c000005390: INCREMENT type:Integer lhs: VARIABLE var:y result: VARIABLE var:%temp2
  ++  0x60c0000052d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_pre_increment rhs: VARIABLE var:%temp2 result: VARIABLE var:%temp1
  ++  0x60c000005510: POST_DECREMENT type:Integer lhs: VARIABLE var:z result: VARIABLE var:%temp4
  ++  0x60c000005450: ASSIGNMENT type:Integer lhs: VARIABLE var:r_post_decrement rhs: VARIABLE var:%temp4 result: VARIABLE var:%temp3
  ++  0x60c000005690: DECREMENT type:Integer lhs: VARIABLE var:w result: VARIABLE var:%temp6
  ++  0x60c0000055d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_pre_decrement rhs: VARIABLE var:%temp6 result: VARIABLE var:%temp5
  ++  0x60c000005810: POST_INCREMENT type:Integer lhs: VARIABLE var:x result: VARIABLE var:%temp8
  ++  0x60c000005750: ASSIGNMENT type:Integer lhs: VARIABLE var:r_post_increment rhs: VARIABLE var:%temp8 result: VARIABLE var:%result
----- end generating... (8)
----- start saving... (8)
----- end saving... (8)
--- compile script to binary with command "export AS2JS_RC='/home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD' && /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tools/as2js -b -o /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tests/a.out /home/snapwebsites/snapcpp/contrib/as2js/tests/binary/integer_operator_increment.ajs".
--- run with return type: 2
warning:unknown-file:1::66: standalone expressions missing in user script; return value will be 0 (TODO: this message still occurs for statements that properly return a value, i.e. assignments, increments, etc.).
----- start flattening...
----- end flattening... (98)
----- start generating... (98)
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Integer]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Boolean]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
  ++  0x60c000005390: EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp2
  ++  0x60c0000052d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_equal_x rhs: VARIABLE var:%temp2 result: VARIABLE var:%temp1
  ++  0x60c000005510: EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:z result: VARIABLE var:%temp4
  ++  0x60c000005450: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_equal_z rhs: VARIABLE var:%temp4 result: VARIABLE var:%temp3
  ++  0x60c000005690: EQUAL type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:z result: VARIABLE var:%temp6
  ++  0x60c0000055d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_equal_z rhs: VARIABLE var:%temp6 result: VARIABLE var:%temp5
  ++  0x60c000005810: STRICTLY_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp8
  ++  0x60c000005750: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_strictly_equal_x rhs: VARIABLE var:%temp8 result: VARIABLE var:%temp7
  ++  0x60c000005990: STRICTLY_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp10
  ++  0x60c0000058d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_strictly_equal_y rhs: VARIABLE var:%temp10 result: VARIABLE var:%temp9
  ++  0x60c000005b10: STRICTLY_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:z result: VARIABLE var:%temp12
  ++  0x60c000005a50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_strictly_equal_z rhs: VARIABLE var:%temp12 result: VARIABLE var:%temp11
  ++  0x60c000005c90: STRICTLY_EQUAL type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:z result: VARIABLE var:%temp14
  ++  0x60c000005bd0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_strictly_equal_z rhs: VARIABLE var:%temp14 result: VARIABLE var:%temp13
  ++  0x60c000005e10: SMART_MATCH type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp16
  ++  0x60c000005d50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_smart_match_x rhs: VARIABLE var:%temp16 result: VARIABLE var:%temp15
  ++  0x60c000005f90: SMART_MATCH type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp18
  ++  0x60c000005ed0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_smart_match_y rhs: VARIABLE var:%temp18 result: VARIABLE var:%temp17
  ++  0x60c000006110: SMART_MATCH type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:x result: VARIABLE var:%temp20
  ++  0x60c000006050: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_smart_match_x rhs: VARIABLE var:%temp20 result: VARIABLE var:%temp19
  ++  0x60c000006290: SMART_MATCH type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:y result: VARIABLE var:%temp22
  ++  0x60c0000061d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_smart_match_y rhs: VARIABLE var:%temp22 result: VARIABLE var:%temp21
  ++  0x60c000006410: NOT_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp24
  ++  0x60c000006350: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_not_equal_x rhs: VARIABLE var:%temp24 result: VARIABLE var:%temp23
  ++  0x60c000006590: NOT_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp26
  ++  0x60c0000064d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_not_equal_y rhs: VARIABLE var:%temp26 result: VARIABLE var:%temp25
  ++  0x60c000006710: NOT_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:z result: VARIABLE var:%temp28
  ++  0x60c000006650: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_not_equal_z rhs: VARIABLE var:%temp28 result: VARIABLE var:%temp27
  ++  0x60c000006890: NOT_EQUAL type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:z result: VARIABLE var:%temp30
  ++  0x60c0000067d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_not_equal_z rhs: VARIABLE var:%temp30 result: VARIABLE var:%temp29
  ++  0x60c000006a10: STRICTLY_NOT_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp32
  ++  0x60c000006950: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_strictly_not_equal_x rhs: VARIABLE var:%temp32 result: VARIABLE var:%temp31
  ++  0x60c000006b90: STRICTLY_NOT_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp34
  ++  0x60c000006ad0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_strictly_not_equal_y rhs: VARIABLE var:%temp34 result: VARIABLE var:%temp33
  ++  0x60c000006d10: STRICTLY_NOT_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:z result: VARIABLE var:%temp36
  ++  0x60c000006c50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_strictly_not_equal_z rhs: VARIABLE var:%temp36 result: VARIABLE var:%temp35
  ++  0x60c000006e90: STRICTLY_NOT_EQUAL type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:z result: VARIABLE var:%temp38
  ++  0x60c000006dd0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_strictly_not_equal_z rhs: VARIABLE var:%temp38 result: VARIABLE var:%temp37
  ++  0x60c000007010: LESS type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp40
  ++  0x60c000006f50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_less_x rhs: VARIABLE var:%temp40 result: VARIABLE var:%temp39
  ++  0x60c000007190: LESS type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp42
  ++  0x60c0000070d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_less_y rhs: VARIABLE var:%temp42 result: VARIABLE var:%temp41
  ++  0x60c000007310: LESS type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:z result: VARIABLE var:%temp44
  ++  0x60c000007250: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_less_z rhs: VARIABLE var:%temp44 result: VARIABLE var:%temp43
  ++  0x60c000007490: LESS type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:z result: VARIABLE var:%temp46
  ++  0x60c0000073d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_less_z rhs: VARIABLE var:%temp46 result: VARIABLE var:%temp45
  ++  0x60c000007610: LESS_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp48
  ++  0x60c000007550: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_less_equal_x rhs: VARIABLE var:%temp48 result: VARIABLE var:%temp47
  ++  0x60c000007790: LESS_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp50
  ++  0x60c0000076d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_less_equal_y rhs: VARIABLE var:%temp50 result: VARIABLE var:%temp49
  ++  0x60c000007910: LESS_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:z result: VARIABLE var:%temp52
  ++  0x60c000007850: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_less_equal_z rhs: VARIABLE var:%temp52 result: VARIABLE var:%temp51
  ++  0x60c000007a90: LESS_EQUAL type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:z result: VARIABLE var:%temp54
  ++  0x60c0000079d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_less_equal_z rhs: VARIABLE var:%temp54 result: VARIABLE var:%temp53
  ++  0x60c000007c10: GREATER type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp56
  ++  0x60c000007b50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_greater_x rhs: VARIABLE var:%temp56 result: VARIABLE var:%temp55
  ++  0x60c000007d90: GREATER type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp58
  ++  0x60c000007cd0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_greater_y rhs: VARIABLE var:%temp58 result: VARIABLE var:%temp57
  ++  0x60c000007f10: GREATER type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:z result: VARIABLE var:%temp60
  ++  0x60c000007e50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_greater_z rhs: VARIABLE var:%temp60 result: VARIABLE var:%temp59
  ++  0x60c000008090: GREATER type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:z result: VARIABLE var:%temp62
  ++  0x60c000007fd0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_greater_z rhs: VARIABLE var:%temp62 result: VARIABLE var:%temp61
  ++  0x60c000008210: GREATER_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp64
  ++  0x60c000008150: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_greater_equal_x rhs: VARIABLE var:%temp64 result: VARIABLE var:%temp63
  ++  0x60c000008390: GREATER_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp66
  ++  0x60c0000082d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_greater_equal_y rhs: VARIABLE var:%temp66 result: VARIABLE var:%temp65
  ++  0x60c000008510: GREATER_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:z result: VARIABLE var:%temp68
  ++  0x60c000008450: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_greater_equal_z rhs: VARIABLE var:%temp68 result: VARIABLE var:%temp67
  ++  0x60c000008690: GREATER_EQUAL type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:z result: VARIABLE var:%temp70
  ++  0x60c0000085d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_greater_equal_z rhs: VARIABLE var:%temp70 result: VARIABLE var:%temp69
  ++  0x60c000008810: COMPARE lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp72
  ++  0x60c000008750: ASSIGNMENT type:Integer lhs: VARIABLE var:r_x_compare_x rhs: VARIABLE var:%temp72 result: VARIABLE var:%temp71
  ++  0x60c000008990: COMPARE lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp74
  ++  0x60c0000088d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_x_compare_y rhs: VARIABLE var:%temp74 result: VARIABLE var:%temp73
  ++  0x60c000008b10: COMPARE lhs: VARIABLE var:x rhs: VARIABLE var:z result: VARIABLE var:%temp76
  ++  0x60c000008a50: ASSIGNMENT type:Integer lhs: VARIABLE var:r_x_compare_z rhs: VARIABLE var:%temp76 result: VARIABLE var:%temp75
  ++  0x60c000008c90: COMPARE lhs: VARIABLE var:y rhs: VARIABLE var:x result: VARIABLE var:%temp78
  ++  0x60c000008bd0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_y_compare_x rhs: VARIABLE var:%temp78 result: VARIABLE var:%temp77
  ++  0x60c000008e10: COMPARE lhs: VARIABLE var:y rhs: VARIABLE var:y result: VARIABLE var:%temp80
  ++  0x60c000008d50: ASSIGNMENT type:Integer lhs: VARIABLE var:r_y_compare_y rhs: VARIABLE var:%temp80 result: VARIABLE var:%temp79
  ++  0x60c000008f90: COMPARE lhs: VARIABLE var:y rhs: VARIABLE var:z result: VARIABLE var:%temp82
  ++  0x60c000008ed0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_y_compare_z rhs: VARIABLE var:%temp82 result: VARIABLE var:%temp81
  ++  0x60c000009110: COMPARE lhs: VARIABLE var:z rhs: VARIABLE var:x result: VARIABLE var:%temp84
  ++  0x60c000009050: ASSIGNMENT type:Integer lhs: VARIABLE var:r_z_compare_x rhs: VARIABLE var:%temp84 result: VARIABLE var:%temp83
  ++  0x60c000009290: COMPARE lhs: VARIABLE var:z rhs: VARIABLE var:y result: VARIABLE var:%temp86
  ++  0x60c0000091d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_z_compare_y rhs: VARIABLE var:%temp86 result: VARIABLE var:%temp85
  ++  0x60c000009410: COMPARE lhs: VARIABLE var:z rhs: VARIABLE var:z result: VARIABLE var:%temp88
  ++  0x60c000009350: ASSIGNMENT type:Integer lhs: VARIABLE var:r_z_compare_z rhs: VARIABLE var:%temp88 result: VARIABLE var:%temp87
  ++  0x60c000009590: LOGICAL_NOT type:Boolean lhs: VARIABLE var:x result: VARIABLE var:%temp90
  ++  0x60c0000094d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_not_x rhs: VARIABLE var:%temp90 result: VARIABLE var:%temp89
  ++  0x60c000009710: LOGICAL_NOT type:Boolean lhs: VARIABLE var:y result: VARIABLE var:%temp92
  ++  0x60c000009650: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_not_y rhs: VARIABLE var:%temp92 result: VARIABLE var:%temp91
  ++  0x60c000009890: LOGICAL_NOT type:Boolean lhs: VARIABLE var:z result: VARIABLE var:%temp94
  ++  0x60c0000097d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_not_z rhs: VARIABLE var:%temp94 result: VARIABLE var:%temp93
  ++  0x60c000009a10: LOGICAL_NOT type:Boolean lhs: VARIABLE var:w result: VARIABLE var:%temp96
  ++  0x60c000009950: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_not_w rhs: VARIABLE var:%temp96 result: VARIABLE var:%temp95
  ++  0x60c000009b90: EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp98
  ++  0x60c000009ad0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_equal_y rhs: VARIABLE var:%temp98 result: VARIABLE var:%result
----- end generating... (98)
----- start saving... (98)
----- end saving... (98)
--- compile script to binary with command "export AS2JS_RC='/home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD' && /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tools/as2js -b -o /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tests/a.out /home/snapwebsites/snapcpp/contrib/as2js/tests/binary/integer_operator_comparison.ajs".
--- run with return type: 1
warning:unknown-file:1::66: standalone expressions missing in user script; return value will be 0 (TODO: this message still occurs for statements that properly return a value, i.e. assignments, increments, etc.).
----- start flattening...
----- end flattening... (29)
----- start generating... (29)
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
  ++  0x60c000005390: MULTIPLY type:Integer lhs: VARIABLE var:x rhs: INTEGER int:33 result: VARIABLE var:%temp2
  ++  0x60c0000052d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_multiply_imm8 rhs: VARIABLE var:%temp2 result: VARIABLE var:%temp1
  ++  0x60c000005510: MULTIPLY type:Integer lhs: VARIABLE var:x rhs: INTEGER int:30003 result: VARIABLE var:%temp4
  ++  0x60c000005450: ASSIGNMENT type:Integer lhs: VARIABLE var:r_multiply_imm32 rhs: VARIABLE var:%temp4 result: VARIABLE var:%temp3
  ++  0x60c000005690: MULTIPLY type:Integer lhs: VARIABLE var:x rhs: INTEGER int:1108152157446 result: VARIABLE var:%temp6
  ++  0x60c0000055d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_multiply_imm64 rhs: VARIABLE var:%temp6 result: VARIABLE var:%temp5
  ++  0x60c000005810: DIVIDE type:Integer lhs: VARIABLE var:w rhs: VARIABLE var:y result: VARIABLE var:%temp8
  ++  0x60c000005750: ASSIGNMENT type:Integer lhs: VARIABLE var:r_divide rhs: VARIABLE var:%temp8 result: VARIABLE var:%temp7
  ++  0x60c000005990: DIVIDE type:Integer lhs: VARIABLE var:w rhs: INTEGER int:33 result: VARIABLE var:%temp10
  ++  0x60c0000058d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_divide_imm8 rhs: VARIABLE var:%temp10 result: VARIABLE var:%temp9
  ++  0x60c000005b10: DIVIDE type:Integer lhs: VARIABLE var:w rhs: INTEGER int:30003 result: VARIABLE var:%temp12
  ++  0x60c000005a50: ASSIGNMENT type:Integer lhs: VARIABLE var:r_divide_imm32 rhs: VARIABLE var:%temp12 result: VARIABLE var:%temp11
  ++  0x60c000005c90: DIVIDE type:Integer lhs: VARIABLE var:w rhs: INTEGER int:1108152157446 result: VARIABLE var:%temp14
  ++  0x60c000005bd0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_divide_imm64 rhs: VARIABLE var:%temp14 result: VARIABLE var:%temp13
  ++  0x60c000005e10: MODULO type:Integer lhs: VARIABLE var:w rhs: VARIABLE var:y result: VARIABLE var:%temp16
  ++  0x60c000005d50: ASSIGNMENT type:Integer lhs: VARIABLE var:r_modulo rhs: VARIABLE var:%temp16 result: VARIABLE var:%temp15
  ++  0x60c000005f90: MODULO type:Integer lhs: VARIABLE var:w rhs: INTEGER int:33 result: VARIABLE var:%temp18
  ++  0x60c000005ed0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_modulo_imm8 rhs: VARIABLE var:%temp18 result: VARIABLE var:%temp17
  ++  0x60c000006110: MODULO type:Integer lhs: VARIABLE var:w rhs: INTEGER int:30003 result: VARIABLE var:%temp20
  ++  0x60c000006050: ASSIGNMENT type:Integer lhs: VARIABLE var:r_modulo_imm32 rhs: VARIABLE var:%temp20 result: VARIABLE var:%temp19
  ++  0x60c000006290: MODULO type:Integer lhs: VARIABLE var:w rhs: INTEGER int:1108152157446 result: VARIABLE var:%temp22
  ++  0x60c0000061d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_modulo_imm64 rhs: VARIABLE var:%temp22 result: VARIABLE var:%temp21
  ++  0x60c0000064d0: NEGATE (SUBTRACT) type:Integer lhs: VARIABLE var:y result: VARIABLE var:%temp25
  ++  0x60c000006410: POWER type:Integer lhs: VARIABLE var:z rhs: VARIABLE var:%temp25 result: VARIABLE var:%temp24
  ++  0x60c000006350: ASSIGNMENT type:Integer lhs: VARIABLE var:r_power rhs: VARIABLE var:%temp24 result: VARIABLE var:%temp23
  ++  0x60c000006650: POWER type:Integer lhs: VARIABLE var:z rhs: INTEGER int:12 result: VARIABLE var:%temp27
  ++  0x60c000006590: ASSIGNMENT type:Integer lhs: VARIABLE var:r_power_imm8 rhs: VARIABLE var:%temp27 result: VARIABLE var:%temp26
  ++  0x60c0000067d0: MULTIPLY type:Integer lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp29
  ++  0x60c000006710: ASSIGNMENT type:Integer lhs: VARIABLE var:r_multiply rhs: VARIABLE var:%temp29 result: VARIABLE var:%result
----- end generating... (29)
----- start saving... (29)
----- end saving... (29)
--- compile script to binary with command "export AS2JS_RC='/home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD' && /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tools/as2js -b -o /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tests/a.out /home/snapwebsites/snapcpp/contrib/as2js/tests/binary/integer_operator_multiplicative.ajs".
--- run with return type: 2
warning:unknown-file:1::66: standalone expressions missing in user script; return value will be 0 (TODO: this message still occurs for statements that properly return a value, i.e. assignments, increments, etc.).
----- start flattening...
----- end flattening... (26)
----- start generating... (26)
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
  ++  0x60c000005390: IDENTITY (ADD) type:Integer lhs: VARIABLE var:x result: VARIABLE var:%temp2
  ++  0x60c0000052d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_identity rhs: VARIABLE var:%temp2 result: VARIABLE var:%temp1
  ++  0x60c000005510: NEGATE (SUBTRACT) type:Integer lhs: VARIABLE var:x result: VARIABLE var:%temp4
  ++  0x60c000005450: ASSIGNMENT type:Integer lhs: VARIABLE var:r_negate rhs: VARIABLE var:%temp4 result: VARIABLE var:%temp3
  ++  0x60c000005690: ADD type:Integer lhs: VARIABLE var:x rhs: INTEGER int:7 result: VARIABLE var:%temp6
  ++  0x60c0000055d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_add_imm8 rhs: VARIABLE var:%temp6 result: VARIABLE var:%temp5
  ++  0x60c000005810: ADD type:Integer lhs: VARIABLE var:x rhs: INTEGER int:128 result: VARIABLE var:%temp8
  ++  0x60c000005750: ASSIGNMENT type:Integer lhs: VARIABLE var:r_add_imm32 rhs: VARIABLE var:%temp8 result: VARIABLE var:%temp7
  ++  0x60c000005990: ADD type:Integer lhs: VARIABLE var:x rhs: INTEGER int:443258581523 result: VARIABLE var:%temp10
  ++  0x60c0000058d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_add_imm64 rhs: VARIABLE var:%temp10 result: VARIABLE var:%temp9
  ++  0x60c000005b10: ADD type:Integer lhs: INTEGER int:7 rhs: VARIABLE var:x result: VARIABLE var:%temp12
  ++  0x60c000005a50: ASSIGNMENT type:Integer lhs: VARIABLE var:r_imm8_add rhs: VARIABLE var:%temp12 result: VARIABLE var:%temp11
  ++  0x60c000005c90: ADD type:Integer lhs: INTEGER int:128 rhs: VARIABLE var:x result: VARIABLE var:%temp14
  ++  0x60c000005bd0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_imm32_add rhs: VARIABLE var:%temp14 result: VARIABLE var:%temp13
  ++  0x60c000005e10: ADD type:Integer lhs: INTEGER int:443258581523 rhs: VARIABLE var:x result: VARIABLE var:%temp16
  ++  0x60c000005d50: ASSIGNMENT type:Integer lhs: VARIABLE var:r_imm64_add rhs: VARIABLE var:%temp16 result: VARIABLE var:%temp15
  ++  0x60c000005f90: SUBTRACT type:Integer lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp18
  ++  0x60c000005ed0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_subtract rhs: VARIABLE var:%temp18 result: VARIABLE var:%temp17
  ++  0x60c000006110: SUBTRACT type:Integer lhs: VARIABLE var:x rhs: INTEGER int:7 result: VARIABLE var:%temp20
  ++  0x60c000006050: ASSIGNMENT type:Integer lhs: VARIABLE var:r_subtract_imm8 rhs: VARIABLE var:%temp20 result: VARIABLE var:%temp19
  ++  0x60c000006290: SUBTRACT type:Integer lhs: VARIABLE var:x rhs: INTEGER int:128 result: VARIABLE var:%temp22
  ++  0x60c0000061d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_subtract_imm32 rhs: VARIABLE var:%temp22 result: VARIABLE var:%temp21
  ++  0x60c000006410: SUBTRACT type:Integer lhs: VARIABLE var:x rhs: INTEGER int:443258581523 result: VARIABLE var:%temp24
  ++  0x60c000006350: ASSIGNMENT type:Integer lhs: VARIABLE var:r_subtract_imm64 rhs: VARIABLE var:%temp24 result: VARIABLE var:%temp23
  ++  0x60c000006590: ADD type:Integer lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp26
  ++  0x60c0000064d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_add rhs: VARIABLE var:%temp26 result: VARIABLE var:%result
----- end generating... (26)
----- start saving... (26)
----- end saving... (26)
--- compile script to binary with command "export AS2JS_RC='/home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD' && /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tools/as2js -b -o /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tests/a.out /home/snapwebsites/snapcpp/contrib/as2js/tests/binary/integer_operator_additive.ajs".
--- run with return type: 2
warning:unknown-file:1::66: standalone expressions missing in user script; return value will be 0 (TODO: this message still occurs for statements that properly return a value, i.e. assignments, increments, etc.).
----- start flattening...
----- end flattening... (64)
----- start generating... (64)
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
  ++  0x60c0000052d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_y_power_3 rhs: VARIABLE var:y result: VARIABLE var:%temp1
  ++  0x60c000005390: ASSIGNMENT_POWER type:Integer lhs: VARIABLE var:r_y_power_3 rhs: INTEGER int:3 result: VARIABLE var:%temp2
  ++  0x60c000005450: ASSIGNMENT type:Integer lhs: VARIABLE var:r_x_multiply_y rhs: VARIABLE var:x result: VARIABLE var:%temp3
  ++  0x60c000005510: ASSIGNMENT_MULTIPLY type:Integer lhs: VARIABLE var:r_x_multiply_y rhs: VARIABLE var:y result: VARIABLE var:%temp4
  ++  0x60c0000055d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_y_multiply_x rhs: VARIABLE var:y result: VARIABLE var:%temp5
  ++  0x60c000005690: ASSIGNMENT_MULTIPLY type:Integer lhs: VARIABLE var:r_y_multiply_x rhs: VARIABLE var:x result: VARIABLE var:%temp6
  ++  0x60c000005750: ASSIGNMENT type:Integer lhs: VARIABLE var:r_x_divide_y rhs: VARIABLE var:x result: VARIABLE var:%temp7
  ++  0x60c000005810: ASSIGNMENT_DIVIDE type:Integer lhs: VARIABLE var:r_x_divide_y rhs: VARIABLE var:y result: VARIABLE var:%temp8
  ++  0x60c0000058d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_y_divide_x rhs: VARIABLE var:y result: VARIABLE var:%temp9
  ++  0x60c000005990: ASSIGNMENT_DIVIDE type:Integer lhs: VARIABLE var:r_y_divide_x rhs: VARIABLE var:x result: VARIABLE var:%temp10
  ++  0x60c000005a50: ASSIGNMENT type:Integer lhs: VARIABLE var:r_x_modulo_y rhs: VARIABLE var:x result: VARIABLE var:%temp11
  ++  0x60c000005b10: ASSIGNMENT_MODULO type:Integer lhs: VARIABLE var:r_x_modulo_y rhs: VARIABLE var:y result: VARIABLE var:%temp12
  ++  0x60c000005bd0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_y_modulo_x rhs: VARIABLE var:y result: VARIABLE var:%temp13
  ++  0x60c000005c90: ASSIGNMENT_MODULO type:Integer lhs: VARIABLE var:r_y_modulo_x rhs: VARIABLE var:x result: VARIABLE var:%temp14
  ++  0x60c000005d50: ASSIGNMENT type:Integer lhs: VARIABLE var:r_x_add_y rhs: VARIABLE var:x result: VARIABLE var:%temp15
  ++  0x60c000005e10: ASSIGNMENT_ADD type:Integer lhs: VARIABLE var:r_x_add_y rhs: VARIABLE var:y result: VARIABLE var:%temp16
  ++  0x60c000005ed0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_y_add_x rhs: VARIABLE var:y result: VARIABLE var:%temp17
  ++  0x60c000005f90: ASSIGNMENT_ADD type:Integer lhs: VARIABLE var:r_y_add_x rhs: VARIABLE var:x result: VARIABLE var:%temp18
  ++  0x60c000006050: ASSIGNMENT type:Integer lhs: VARIABLE var:r_x_subtract_y rhs: VARIABLE var:x result: VARIABLE var:%temp19
  ++  0x60c000006110: ASSIGNMENT_SUBTRACT type:Integer lhs: VARIABLE var:r_x_subtract_y rhs: VARIABLE var:y result: VARIABLE var:%temp20
  ++  0x60c0000061d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_y_subtract_x rhs: VARIABLE var:y result: VARIABLE var:%temp21
  ++  0x60c000006290: ASSIGNMENT_SUBTRACT type:Integer lhs: VARIABLE var:r_y_subtract_x rhs: VARIABLE var:x result: VARIABLE var:%temp22
  ++  0x60c000006350: ASSIGNMENT type:Integer lhs: VARIABLE var:r_x_shift_left_y rhs: VARIABLE var:x result: VARIABLE var:%temp23
  ++  0x60c000006410: ASSIGNMENT_SHIFT_LEFT type:Integer lhs: VARIABLE var:r_x_shift_left_y rhs: VARIABLE var:y result: VARIABLE var:%temp24
  ++  0x60c0000064d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_y_shift_left_x rhs: VARIABLE var:y result: VARIABLE var:%temp25
  ++  0x60c000006590: ASSIGNMENT_SHIFT_LEFT type:Integer lhs: VARIABLE var:r_y_shift_left_x rhs: VARIABLE var:x result: VARIABLE var:%temp26
  ++  0x60c000006650: ASSIGNMENT type:Integer lhs: VARIABLE var:r_x_shift_right_y rhs: VARIABLE var:x result: VARIABLE var:%temp27
  ++  0x60c000006710: ASSIGNMENT_SHIFT_RIGHT type:Integer lhs: VARIABLE var:r_x_shift_right_y rhs: VARIABLE var:y result: VARIABLE var:%temp28
  ++  0x60c0000067d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_y_shift_right_x rhs: VARIABLE var:y result: VARIABLE var:%temp29
  ++  0x60c000006890: ASSIGNMENT_SHIFT_RIGHT type:Integer lhs: VARIABLE var:r_y_shift_right_x rhs: VARIABLE var:x result: VARIABLE var:%temp30
  ++  0x60c000006950: ASSIGNMENT type:Integer lhs: VARIABLE var:r_x_shift_right_unsigned_y rhs: VARIABLE var:x result: VARIABLE var:%temp31
  ++  0x60c000006a10: ASSIGNMENT_SHIFT_RIGHT_UNSIGNED type:Integer lhs: VARIABLE var:r_x_shift_right_unsigned_y rhs: VARIABLE var:y result: VARIABLE var:%temp32
  ++  0x60c000006ad0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_y_shift_right_unsigned_x rhs: VARIABLE var:y result: VARIABLE var:%temp33
  ++  0x60c000006b90: ASSIGNMENT_SHIFT_RIGHT_UNSIGNED type:Integer lhs: VARIABLE var:r_y_shift_right_unsigned_x rhs: VARIABLE var:x result: VARIABLE var:%temp34
  ++  0x60c000006c50: ASSIGNMENT type:Integer lhs: VARIABLE var:r_x_rotate_left_y rhs: VARIABLE var:x result: VARIABLE var:%temp35
  ++  0x60c000006d10: ASSIGNMENT_ROTATE_LEFT type:Integer lhs: VARIABLE var:r_x_rotate_left_y rhs: VARIABLE var:y result: VARIABLE var:%temp36
  ++  0x60c000006dd0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_y_rotate_left_x rhs: VARIABLE var:y result: VARIABLE var:%temp37
  ++  0x60c000006e90: ASSIGNMENT_ROTATE_LEFT type:Integer lhs: VARIABLE var:r_y_rotate_left_x rhs: VARIABLE var:x result: VARIABLE var:%temp38
  ++  0x60c000006f50: ASSIGNMENT type:Integer lhs: VARIABLE var:r_x_rotate_right_y rhs: VARIABLE var:x result: VARIABLE var:%temp39
  ++  0x60c000007010: ASSIGNMENT_ROTATE_RIGHT type:Integer lhs: VARIABLE var:r_x_rotate_right_y rhs: VARIABLE var:y result: VARIABLE var:%temp40
  ++  0x60c0000070d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_y_rotate_right_x rhs: VARIABLE var:y result: VARIABLE var:%temp41
  ++  0x60c000007190: ASSIGNMENT_ROTATE_RIGHT type:Integer lhs: VARIABLE var:r_y_rotate_right_x rhs: VARIABLE var:x result: VARIABLE var:%temp42
  ++  0x60c000007250: ASSIGNMENT type:Integer lhs: VARIABLE var:r_x_bitwise_and_y rhs: VARIABLE var:x result: VARIABLE var:%temp43
  ++  0x60c000007310: ASSIGNMENT_BITWISE_AND type:Integer lhs: VARIABLE var:r_x_bitwise_and_y rhs: VARIABLE var:y result: VARIABLE var:%temp44
  ++  0x60c0000073d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_y_bitwise_and_x rhs: VARIABLE var:y result: VARIABLE var:%temp45
  ++  0x60c000007490: ASSIGNMENT_BITWISE_AND type:Integer lhs: VARIABLE var:r_y_bitwise_and_x rhs: VARIABLE var:x result: VARIABLE var:%temp46
  ++  0x60c000007550: ASSIGNMENT type:Integer lhs: VARIABLE var:r_x_bitwise_xor_y rhs: VARIABLE var:x result: VARIABLE var:%temp47
  ++  0x60c000007610: ASSIGNMENT_BITWISE_XOR type:Integer lhs: VARIABLE var:r_x_bitwise_xor_y rhs: VARIABLE var:y result: VARIABLE var:%temp48
  ++  0x60c0000076d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_y_bitwise_xor_x rhs: VARIABLE var:y result: VARIABLE var:%temp49
  ++  0x60c000007790: ASSIGNMENT_BITWISE_XOR type:Integer lhs: VARIABLE var:r_y_bitwise_xor_x rhs: VARIABLE var:x result: VARIABLE var:%temp50
  ++  0x60c000007850: ASSIGNMENT type:Integer lhs: VARIABLE var:r_x_bitwise_or_y rhs: VARIABLE var:x result: VARIABLE var:%temp51
  ++  0x60c000007910: ASSIGNMENT_BITWISE_OR type:Integer lhs: VARIABLE var:r_x_bitwise_or_y rhs: VARIABLE var:y result: VARIABLE var:%temp52
  ++  0x60c0000079d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_y_bitwise_or_x rhs: VARIABLE var:y result: VARIABLE var:%temp53
  ++  0x60c000007a90: ASSIGNMENT_BITWISE_OR type:Integer lhs: VARIABLE var:r_y_bitwise_or_x rhs: VARIABLE var:x result: VARIABLE var:%temp54
  ++  0x60c000007b50: ASSIGNMENT type:Integer lhs: VARIABLE var:r_x_minimum_y rhs: VARIABLE var:x result: VARIABLE var:%temp55
  ++  0x60c000007c10: ASSIGNMENT_MINIMUM type:Integer lhs: VARIABLE var:r_x_minimum_y rhs: VARIABLE var:y result: VARIABLE var:%temp56
  ++  0x60c000007cd0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_y_minimum_x rhs: VARIABLE var:y result: VARIABLE var:%temp57
  ++  0x60c000007d90: ASSIGNMENT_MINIMUM type:Integer lhs: VARIABLE var:r_y_minimum_x rhs: VARIABLE var:x result: VARIABLE var:%temp58
  ++  0x60c000007e50: ASSIGNMENT type:Integer lhs: VARIABLE var:r_x_maximum_y rhs: VARIABLE var:x result: VARIABLE var:%temp59
  ++  0x60c000007f10: ASSIGNMENT_MAXIMUM type:Integer lhs: VARIABLE var:r_x_maximum_y rhs: VARIABLE var:y result: VARIABLE var:%temp60
  ++  0x60c000007fd0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_y_maximum_x rhs: VARIABLE var:y result: VARIABLE var:%temp61
  ++  0x60c000008090: ASSIGNMENT_MAXIMUM type:Integer lhs: VARIABLE var:r_y_maximum_x rhs: VARIABLE var:x result: VARIABLE var:%temp62
  ++  0x60c000008150: ASSIGNMENT type:Integer lhs: VARIABLE var:r_x_power_3 rhs: VARIABLE var:x result: VARIABLE var:%temp63
  ++  0x60c000008210: ASSIGNMENT_POWER type:Integer lhs: VARIABLE var:r_x_power_3 rhs: INTEGER int:3 result: VARIABLE var:%result
----- end generating... (64)
----- start saving... (64)
----- end saving... (64)
--- compile script to binary with command "export AS2JS_RC='/home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD' && /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tools/as2js -b -o /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tests/a.out /home/snapwebsites/snapcpp/contrib/as2js/tests/binary/integer_operator_assignment.ajs".
--- run with return type: 2
warning:unknown-file:1::66: standalone expressions missing in user script; return value will be 0 (TODO: this message still occurs for statements that properly return a value, i.e. assignments, increments, etc.).
----- start flattening...
----- end flattening... (26)
----- start generating... (26)
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
  ++  0x60c000005390: BITWISE_AND type:Integer lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp2
  ++  0x60c0000052d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_and rhs: VARIABLE var:%temp2 result: VARIABLE var:%temp1
  ++  0x60c000005510: BITWISE_AND type:Integer lhs: VARIABLE var:x rhs: INTEGER int:92 result: VARIABLE var:%temp4
  ++  0x60c000005450: ASSIGNMENT type:Integer lhs: VARIABLE var:r_and_imm8 rhs: VARIABLE var:%temp4 result: VARIABLE var:%temp3
  ++  0x60c000005690: BITWISE_AND type:Integer lhs: VARIABLE var:x rhs: INTEGER int:190042913 result: VARIABLE var:%temp6
  ++  0x60c0000055d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_and_imm32 rhs: VARIABLE var:%temp6 result: VARIABLE var:%temp5
  ++  0x60c000005810: BITWISE_AND type:Integer lhs: VARIABLE var:x rhs: INTEGER int:4502797056872879 result: VARIABLE var:%temp8
  ++  0x60c000005750: ASSIGNMENT type:Integer lhs: VARIABLE var:r_and_imm64 rhs: VARIABLE var:%temp8 result: VARIABLE var:%temp7
  ++  0x60c000005990: BITWISE_OR type:Integer lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp10
  ++  0x60c0000058d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_or rhs: VARIABLE var:%temp10 result: VARIABLE var:%temp9
  ++  0x60c000005b10: BITWISE_OR type:Integer lhs: VARIABLE var:x rhs: INTEGER int:120 result: VARIABLE var:%temp12
  ++  0x60c000005a50: ASSIGNMENT type:Integer lhs: VARIABLE var:r_or_imm8 rhs: VARIABLE var:%temp12 result: VARIABLE var:%temp11
  ++  0x60c000005c90: BITWISE_OR type:Integer lhs: VARIABLE var:x rhs: INTEGER int:1009419 result: VARIABLE var:%temp14
  ++  0x60c000005bd0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_or_imm32 rhs: VARIABLE var:%temp14 result: VARIABLE var:%temp13
  ++  0x60c000005e10: BITWISE_OR type:Integer lhs: VARIABLE var:x rhs: INTEGER int:9948577583123 result: VARIABLE var:%temp16
  ++  0x60c000005d50: ASSIGNMENT type:Integer lhs: VARIABLE var:r_or_imm64 rhs: VARIABLE var:%temp16 result: VARIABLE var:%temp15
  ++  0x60c000005f90: BITWISE_XOR type:Integer lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp18
  ++  0x60c000005ed0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_xor rhs: VARIABLE var:%temp18 result: VARIABLE var:%temp17
  ++  0x60c000006110: BITWISE_XOR type:Integer lhs: VARIABLE var:x rhs: INTEGER int:-87 result: VARIABLE var:%temp20
  ++  0x60c000006050: ASSIGNMENT type:Integer lhs: VARIABLE var:r_xor_imm8 rhs: VARIABLE var:%temp20 result: VARIABLE var:%temp19
  ++  0x60c000006290: BITWISE_XOR type:Integer lhs: VARIABLE var:x rhs: INTEGER int:-40775 result: VARIABLE var:%temp22
  ++  0x60c0000061d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_xor_imm32 rhs: VARIABLE var:%temp22 result: VARIABLE var:%temp21
  ++  0x60c000006410: BITWISE_XOR type:Integer lhs: VARIABLE var:x rhs: INTEGER int:220188592828 result: VARIABLE var:%temp24
  ++  0x60c000006350: ASSIGNMENT type:Integer lhs: VARIABLE var:r_xor_imm64 rhs: VARIABLE var:%temp24 result: VARIABLE var:%temp23
  ++  0x60c000006590: BITWISE_NOT type:Integer lhs: VARIABLE var:x result: VARIABLE var:%temp26
  ++  0x60c0000064d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_not rhs: VARIABLE var:%temp26 result: VARIABLE var:%result
----- end generating... (26)
----- start saving... (26)
----- end saving... (26)
--- compile script to binary with command "export AS2JS_RC='/home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD' && /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tools/as2js -b -o /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tests/a.out /home/snapwebsites/snapcpp/contrib/as2js/tests/binary/integer_operator_bitwise.ajs".
--- run with return type: 2
warning:unknown-file:1::66: standalone expressions missing in user script; return value will be 0 (TODO: this message still occurs for statements that properly return a value, i.e. assignments, increments, etc.).
----- start flattening...
----- end flattening... (30)
----- start generating... (30)
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
  ++  0x60c000005390: SHIFT_LEFT type:Integer lhs: VARIABLE var:x rhs: INTEGER int:1 result: VARIABLE var:%temp2
  ++  0x60c0000052d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_shift_left_imm1 rhs: VARIABLE var:%temp2 result: VARIABLE var:%temp1
  ++  0x60c000005510: SHIFT_LEFT type:Integer lhs: VARIABLE var:x rhs: INTEGER int:15 result: VARIABLE var:%temp4
  ++  0x60c000005450: ASSIGNMENT type:Integer lhs: VARIABLE var:r_shift_left_imm8 rhs: VARIABLE var:%temp4 result: VARIABLE var:%temp3
  ++  0x60c000005690: SHIFT_RIGHT type:Integer lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp6
  ++  0x60c0000055d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_shift_right rhs: VARIABLE var:%temp6 result: VARIABLE var:%temp5
  ++  0x60c000005810: SHIFT_RIGHT type:Integer lhs: VARIABLE var:x rhs: INTEGER int:1 result: VARIABLE var:%temp8
  ++  0x60c000005750: ASSIGNMENT type:Integer lhs: VARIABLE var:r_shift_right_imm1 rhs: VARIABLE var:%temp8 result: VARIABLE var:%temp7
  ++  0x60c000005990: SHIFT_RIGHT type:Integer lhs: VARIABLE var:x rhs: INTEGER int:15 result: VARIABLE var:%temp10
  ++  0x60c0000058d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_shift_right_imm8 rhs: VARIABLE var:%temp10 result: VARIABLE var:%temp9
  ++  0x60c000005b10: SHIFT_RIGHT_UNSIGNED type:Integer lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp12
  ++  0x60c000005a50: ASSIGNMENT type:Integer lhs: VARIABLE var:r_shift_right_unsigned rhs: VARIABLE var:%temp12 result: VARIABLE var:%temp11
  ++  0x60c000005c90: SHIFT_RIGHT_UNSIGNED type:Integer lhs: VARIABLE var:x rhs: INTEGER int:1 result: VARIABLE var:%temp14
  ++  0x60c000005bd0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_shift_right_unsigned_imm1 rhs: VARIABLE var:%temp14 result: VARIABLE var:%temp13
  ++  0x60c000005e10: SHIFT_RIGHT_UNSIGNED type:Integer lhs: VARIABLE var:x rhs: INTEGER int:15 result: VARIABLE var:%temp16
  ++  0x60c000005d50: ASSIGNMENT type:Integer lhs: VARIABLE var:r_shift_right_unsigned_imm8 rhs: VARIABLE var:%temp16 result: VARIABLE var:%temp15
  ++  0x60c000005f90: ROTATE_LEFT type:Integer lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp18
  ++  0x60c000005ed0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_rotate_left rhs: VARIABLE var:%temp18 result: VARIABLE var:%temp17
  ++  0x60c000006110: ROTATE_LEFT type:Integer lhs: VARIABLE var:x rhs: INTEGER int:1 result: VARIABLE var:%temp20
  ++  0x60c000006050: ASSIGNMENT type:Integer lhs: VARIABLE var:r_rotate_left_imm1 rhs: VARIABLE var:%temp20 result: VARIABLE var:%temp19
  ++  0x60c000006290: ROTATE_LEFT type:Integer lhs: VARIABLE var:x rhs: INTEGER int:15 result: VARIABLE var:%temp22
  ++  0x60c0000061d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_rotate_left_imm8 rhs: VARIABLE var:%temp22 result: VARIABLE var:%temp21
  ++  0x60c000006410: ROTATE_RIGHT type:Integer lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp24
  ++  0x60c000006350: ASSIGNMENT type:Integer lhs: VARIABLE var:r_rotate_right rhs: VARIABLE var:%temp24 result: VARIABLE var:%temp23
  ++  0x60c000006590: ROTATE_RIGHT type:Integer lhs: VARIABLE var:x rhs: INTEGER int:1 result: VARIABLE var:%temp26
  ++  0x60c0000064d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_rotate_right_imm1 rhs: VARIABLE var:%temp26 result: VARIABLE var:%temp25
  ++  0x60c000006710: ROTATE_RIGHT type:Integer lhs: VARIABLE var:x rhs: INTEGER int:15 result: VARIABLE var:%temp28
  ++  0x60c000006650: ASSIGNMENT type:Integer lhs: VARIABLE var:r_rotate_right_imm8 rhs: VARIABLE var:%temp28 result: VARIABLE var:%temp27
  ++  0x60c000006890: SHIFT_LEFT type:Integer lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp30
  ++  0x60c0000067d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_shift_left rhs: VARIABLE var:%temp30 result: VARIABLE var:%result
----- end generating... (30)
----- start saving... (30)
----- end saving... (30)
--- compile script to binary with command "export AS2JS_RC='/home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD' && /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tools/as2js -b -o /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tests/a.out /home/snapwebsites/snapcpp/contrib/as2js/tests/binary/integer_operator_shift.ajs".
--- run with return type: 2
warning:unknown-file:1::66: standalone expressions missing in user script; return value will be 0 (TODO: this message still occurs for statements that properly return a value, i.e. assignments, increments, etc.).
----- start flattening...
----- end flattening... (27)
----- start generating... (27)
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Integer]
  ++  0x60c000005390: MAXIMUM type:Integer lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp2
  ++  0x60c0000052d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_maximum rhs: VARIABLE var:%temp2 result: VARIABLE var:%temp1
  ++  0x60c0000055d0: NEGATE (SUBTRACT) type:Integer lhs: VARIABLE var:x result: VARIABLE var:%temp5
  ++  0x60c000005690: NEGATE (SUBTRACT) type:Integer lhs: VARIABLE var:y result: VARIABLE var:%temp6
  ++  0x60c000005510: MINIMUM type:Integer lhs: VARIABLE var:%temp5 rhs: VARIABLE var:%temp6 result: VARIABLE var:%temp4
  ++  0x60c000005450: ASSIGNMENT type:Integer lhs: VARIABLE var:r_minimum_inverse rhs: VARIABLE var:%temp4 result: VARIABLE var:%temp3
  ++  0x60c0000058d0: NEGATE (SUBTRACT) type:Integer lhs: VARIABLE var:x result: VARIABLE var:%temp9
  ++  0x60c000005990: NEGATE (SUBTRACT) type:Integer lhs: VARIABLE var:y result: VARIABLE var:%temp10
  ++  0x60c000005810: MAXIMUM type:Integer lhs: VARIABLE var:%temp9 rhs: VARIABLE var:%temp10 result: VARIABLE var:%temp8
  ++  0x60c000005750: ASSIGNMENT type:Integer lhs: VARIABLE var:r_maximum_inverse rhs: VARIABLE var:%temp8 result: VARIABLE var:%temp7
  ++  0x60c000005c90: IF_FALSE label:.L2 lhs: VARIABLE var:z
  ++  0x60c000005b10: ASSIGNMENT type:Integer lhs: VARIABLE var:x result: VARIABLE var:%temp12
  ++  0x60c000005d50: GOTO label:.L1
  ++  0x60c000005e10: LABEL label:.L2
  ++  0x60c000005bd0: ASSIGNMENT type:Integer lhs: VARIABLE var:y result: VARIABLE var:%temp12
  ++  0x60c000005ed0: LABEL label:.L1
  ++  0x60c000005a50: ASSIGNMENT type:Integer lhs: VARIABLE var:r_select rhs: VARIABLE var:%temp12 result: VARIABLE var:%temp11
  ++  0x60c000006290: LOGICAL_NOT type:Boolean lhs: VARIABLE var:z result: VARIABLE var:%temp15
  ++  0x60c0000061d0: IF_FALSE label:.L4 lhs: VARIABLE var:%temp15
  ++  0x60c000006050: ASSIGNMENT type:Integer lhs: VARIABLE var:x result: VARIABLE var:%temp14
  ++  0x60c000006350: GOTO label:.L3
  ++  0x60c000006410: LABEL label:.L4
  ++  0x60c000006110: ASSIGNMENT type:Integer lhs: VARIABLE var:y result: VARIABLE var:%temp14
  ++  0x60c0000064d0: LABEL label:.L3
  ++  0x60c000005f90: ASSIGNMENT type:Integer lhs: VARIABLE var:r_select_not rhs: VARIABLE var:%temp14 result: VARIABLE var:%temp13
  ++  0x60c000006650: MINIMUM type:Integer lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp17
  ++  0x60c000006590: ASSIGNMENT type:Integer lhs: VARIABLE var:r_minimum rhs: VARIABLE var:%temp17 result: VARIABLE var:%result
----- end generating... (27)
----- start saving... (27)
----- end saving... (27)
--- compile script to binary with command "export AS2JS_RC='/home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD' && /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tools/as2js -b -o /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tests/a.out /home/snapwebsites/snapcpp/contrib/as2js/tests/binary/integer_operator_conditional.ajs".
--- run with return type: 2
SECTION: binary_double_operators: test binary operators for doubles
warning:unknown-file:1::66: standalone expressions missing in user script; return value will be 0 (TODO: this message still occurs for statements that properly return a value, i.e. assignments, increments, etc.).
----- start flattening...
----- end flattening... (8)
----- start generating... (8)
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
  ++  0x60c000005390: INCREMENT type:Double lhs: VARIABLE var:y result: VARIABLE var:%temp2
  ++  0x60c0000052d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_pre_increment rhs: VARIABLE var:%temp2 result: VARIABLE var:%temp1
  ++  0x60c000005510: POST_DECREMENT type:Double lhs: VARIABLE var:z result: VARIABLE var:%temp4
  ++  0x60c000005450: ASSIGNMENT type:Double lhs: VARIABLE var:r_post_decrement rhs: VARIABLE var:%temp4 result: VARIABLE var:%temp3
  ++  0x60c000005690: DECREMENT type:Double lhs: VARIABLE var:w result: VARIABLE var:%temp6
  ++  0x60c0000055d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_pre_decrement rhs: VARIABLE var:%temp6 result: VARIABLE var:%temp5
  ++  0x60c000005810: POST_INCREMENT type:Double lhs: VARIABLE var:x result: VARIABLE var:%temp8
  ++  0x60c000005750: ASSIGNMENT type:Double lhs: VARIABLE var:r_post_increment rhs: VARIABLE var:%temp8 result: VARIABLE var:%result
----- end generating... (8)
----- start saving... (8)
----- end saving... (8)
--- compile script to binary with command "export AS2JS_RC='/home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD' && /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tools/as2js -b -o /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tests/a.out /home/snapwebsites/snapcpp/contrib/as2js/tests/binary/double_operator_increment.ajs".
--- run with return type: 3
warning:unknown-file:1::66: standalone expressions missing in user script; return value will be 0 (TODO: this message still occurs for statements that properly return a value, i.e. assignments, increments, etc.).
----- start flattening...
----- end flattening... (134)
----- start generating... (134)
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Integer]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Boolean]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
  ++  0x60c000005390: EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp2
  ++  0x60c0000052d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_equal_x rhs: VARIABLE var:%temp2 result: VARIABLE var:%temp1
  ++  0x60c000005510: EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:z result: VARIABLE var:%temp4
  ++  0x60c000005450: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_equal_z rhs: VARIABLE var:%temp4 result: VARIABLE var:%temp3
  ++  0x60c000005690: EQUAL type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:z result: VARIABLE var:%temp6
  ++  0x60c0000055d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_equal_z rhs: VARIABLE var:%temp6 result: VARIABLE var:%temp5
  ++  0x60c000005810: STRICTLY_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp8
  ++  0x60c000005750: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_strictly_equal_x rhs: VARIABLE var:%temp8 result: VARIABLE var:%temp7
  ++  0x60c000005990: STRICTLY_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp10
  ++  0x60c0000058d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_strictly_equal_y rhs: VARIABLE var:%temp10 result: VARIABLE var:%temp9
  ++  0x60c000005b10: STRICTLY_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:z result: VARIABLE var:%temp12
  ++  0x60c000005a50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_strictly_equal_z rhs: VARIABLE var:%temp12 result: VARIABLE var:%temp11
  ++  0x60c000005c90: STRICTLY_EQUAL type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:z result: VARIABLE var:%temp14
  ++  0x60c000005bd0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_strictly_equal_z rhs: VARIABLE var:%temp14 result: VARIABLE var:%temp13
  ++  0x60c000005e10: SMART_MATCH type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp16
  ++  0x60c000005d50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_smart_match_x rhs: VARIABLE var:%temp16 result: VARIABLE var:%temp15
  ++  0x60c000005f90: SMART_MATCH type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp18
  ++  0x60c000005ed0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_smart_match_y rhs: VARIABLE var:%temp18 result: VARIABLE var:%temp17
  ++  0x60c000006110: SMART_MATCH type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:x result: VARIABLE var:%temp20
  ++  0x60c000006050: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_smart_match_x rhs: VARIABLE var:%temp20 result: VARIABLE var:%temp19
  ++  0x60c000006290: SMART_MATCH type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:y result: VARIABLE var:%temp22
  ++  0x60c0000061d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_smart_match_y rhs: VARIABLE var:%temp22 result: VARIABLE var:%temp21
  ++  0x60c000006410: ALMOST_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp24
  ++  0x60c000006350: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_almost_equal_x rhs: VARIABLE var:%temp24 result: VARIABLE var:%temp23
  ++  0x60c000006590: ALMOST_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp26
  ++  0x60c0000064d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_almost_equal_y rhs: VARIABLE var:%temp26 result: VARIABLE var:%temp25
  ++  0x60c000006710: ALMOST_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:z result: VARIABLE var:%temp28
  ++  0x60c000006650: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_almost_equal_z rhs: VARIABLE var:%temp28 result: VARIABLE var:%temp27
  ++  0x60c000006890: ALMOST_EQUAL type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:z result: VARIABLE var:%temp30
  ++  0x60c0000067d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_almost_equal_z rhs: VARIABLE var:%temp30 result: VARIABLE var:%temp29
  ++  0x60c000006ad0: ADD type:Double lhs: VARIABLE var:x rhs: FLOATING_POINT flt:1e-09 result: VARIABLE var:%temp33
  ++  0x60c000006a10: ALMOST_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:%temp33 result: VARIABLE var:%temp32
  ++  0x60c000006950: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_almost_equal_larger_imm rhs: VARIABLE var:%temp32 result: VARIABLE var:%temp31
  ++  0x60c000006d10: SUBTRACT type:Double lhs: VARIABLE var:x rhs: FLOATING_POINT flt:1e-09 result: VARIABLE var:%temp36
  ++  0x60c000006c50: ALMOST_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:%temp36 result: VARIABLE var:%temp35
  ++  0x60c000006b90: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_almost_equal_smaller_imm rhs: VARIABLE var:%temp35 result: VARIABLE var:%temp34
  ++  0x60c000006e90: NOT_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp38
  ++  0x60c000006dd0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_not_equal_x rhs: VARIABLE var:%temp38 result: VARIABLE var:%temp37
  ++  0x60c000007010: NOT_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp40
  ++  0x60c000006f50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_not_equal_y rhs: VARIABLE var:%temp40 result: VARIABLE var:%temp39
  ++  0x60c000007190: NOT_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:z result: VARIABLE var:%temp42
  ++  0x60c0000070d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_not_equal_z rhs: VARIABLE var:%temp42 result: VARIABLE var:%temp41
  ++  0x60c000007310: NOT_EQUAL type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:z result: VARIABLE var:%temp44
  ++  0x60c000007250: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_not_equal_z rhs: VARIABLE var:%temp44 result: VARIABLE var:%temp43
  ++  0x60c000007490: STRICTLY_NOT_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp46
  ++  0x60c0000073d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_strictly_not_equal_x rhs: VARIABLE var:%temp46 result: VARIABLE var:%temp45
  ++  0x60c000007610: STRICTLY_NOT_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp48
  ++  0x60c000007550: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_strictly_not_equal_y rhs: VARIABLE var:%temp48 result: VARIABLE var:%temp47
  ++  0x60c000007790: STRICTLY_NOT_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:z result: VARIABLE var:%temp50
  ++  0x60c0000076d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_strictly_not_equal_z rhs: VARIABLE var:%temp50 result: VARIABLE var:%temp49
  ++  0x60c000007910: STRICTLY_NOT_EQUAL type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:z result: VARIABLE var:%temp52
  ++  0x60c000007850: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_strictly_not_equal_z rhs: VARIABLE var:%temp52 result: VARIABLE var:%temp51
  ++  0x60c000007a90: LESS type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp54
  ++  0x60c0000079d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_less_x rhs: VARIABLE var:%temp54 result: VARIABLE var:%temp53
  ++  0x60c000007c10: LESS type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp56
  ++  0x60c000007b50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_less_y rhs: VARIABLE var:%temp56 result: VARIABLE var:%temp55
  ++  0x60c000007d90: LESS type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:z result: VARIABLE var:%temp58
  ++  0x60c000007cd0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_less_z rhs: VARIABLE var:%temp58 result: VARIABLE var:%temp57
  ++  0x60c000007f10: LESS type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:z result: VARIABLE var:%temp60
  ++  0x60c000007e50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_less_z rhs: VARIABLE var:%temp60 result: VARIABLE var:%temp59
  ++  0x60c000008090: LESS_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp62
  ++  0x60c000007fd0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_less_equal_x rhs: VARIABLE var:%temp62 result: VARIABLE var:%temp61
  ++  0x60c000008210: LESS_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp64
  ++  0x60c000008150: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_less_equal_y rhs: VARIABLE var:%temp64 result: VARIABLE var:%temp63
  ++  0x60c000008390: LESS_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:z result: VARIABLE var:%temp66
  ++  0x60c0000082d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_less_equal_z rhs: VARIABLE var:%temp66 result: VARIABLE var:%temp65
  ++  0x60c000008510: LESS_EQUAL type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:z result: VARIABLE var:%temp68
  ++  0x60c000008450: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_less_equal_z rhs: VARIABLE var:%temp68 result: VARIABLE var:%temp67
  ++  0x60c000008690: GREATER type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp70
  ++  0x60c0000085d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_greater_x rhs: VARIABLE var:%temp70 result: VARIABLE var:%temp69
  ++  0x60c000008810: GREATER type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp72
  ++  0x60c000008750: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_greater_y rhs: VARIABLE var:%temp72 result: VARIABLE var:%temp71
  ++  0x60c000008990: GREATER type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:z result: VARIABLE var:%temp74
  ++  0x60c0000088d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_greater_z rhs: VARIABLE var:%temp74 result: VARIABLE var:%temp73
  ++  0x60c000008b10: GREATER type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:z result: VARIABLE var:%temp76
  ++  0x60c000008a50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_greater_z rhs: VARIABLE var:%temp76 result: VARIABLE var:%temp75
  ++  0x60c000008c90: GREATER_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp78
  ++  0x60c000008bd0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_greater_equal_x rhs: VARIABLE var:%temp78 result: VARIABLE var:%temp77
  ++  0x60c000008e10: GREATER_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp80
  ++  0x60c000008d50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_greater_equal_y rhs: VARIABLE var:%temp80 result: VARIABLE var:%temp79
  ++  0x60c000008f90: GREATER_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:z result: VARIABLE var:%temp82
  ++  0x60c000008ed0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_greater_equal_z rhs: VARIABLE var:%temp82 result: VARIABLE var:%temp81
  ++  0x60c000009110: GREATER_EQUAL type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:z result: VARIABLE var:%temp84
  ++  0x60c000009050: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_greater_equal_z rhs: VARIABLE var:%temp84 result: VARIABLE var:%temp83
  ++  0x60c000009290: COMPARE lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp86
  ++  0x60c0000091d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_x_compare_x rhs: VARIABLE var:%temp86 result: VARIABLE var:%temp85
  ++  0x60c000009410: COMPARE lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp88
  ++  0x60c000009350: ASSIGNMENT type:Integer lhs: VARIABLE var:r_x_compare_y rhs: VARIABLE var:%temp88 result: VARIABLE var:%temp87
  ++  0x60c000009590: COMPARE lhs: VARIABLE var:x rhs: VARIABLE var:z result: VARIABLE var:%temp90
  ++  0x60c0000094d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_x_compare_z rhs: VARIABLE var:%temp90 result: VARIABLE var:%temp89
  ++  0x60c000009710: COMPARE lhs: VARIABLE var:y rhs: VARIABLE var:x result: VARIABLE var:%temp92
  ++  0x60c000009650: ASSIGNMENT type:Integer lhs: VARIABLE var:r_y_compare_x rhs: VARIABLE var:%temp92 result: VARIABLE var:%temp91
  ++  0x60c000009890: COMPARE lhs: VARIABLE var:y rhs: VARIABLE var:y result: VARIABLE var:%temp94
  ++  0x60c0000097d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_y_compare_y rhs: VARIABLE var:%temp94 result: VARIABLE var:%temp93
  ++  0x60c000009a10: COMPARE lhs: VARIABLE var:y rhs: VARIABLE var:z result: VARIABLE var:%temp96
  ++  0x60c000009950: ASSIGNMENT type:Integer lhs: VARIABLE var:r_y_compare_z rhs: VARIABLE var:%temp96 result: VARIABLE var:%temp95
  ++  0x60c000009b90: COMPARE lhs: VARIABLE var:z rhs: VARIABLE var:x result: VARIABLE var:%temp98
  ++  0x60c000009ad0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_z_compare_x rhs: VARIABLE var:%temp98 result: VARIABLE var:%temp97
  ++  0x60c000009d10: COMPARE lhs: VARIABLE var:z rhs: VARIABLE var:y result: VARIABLE var:%temp100
  ++  0x60c000009c50: ASSIGNMENT type:Integer lhs: VARIABLE var:r_z_compare_y rhs: VARIABLE var:%temp100 result: VARIABLE var:%temp99
  ++  0x60c000009e90: COMPARE lhs: VARIABLE var:z rhs: VARIABLE var:z result: VARIABLE var:%temp102
  ++  0x60c000009dd0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_z_compare_z rhs: VARIABLE var:%temp102 result: VARIABLE var:%temp101
  ++  0x60c00000a010: LOGICAL_NOT type:Boolean lhs: VARIABLE var:x result: VARIABLE var:%temp104
  ++  0x60c000009f50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_not_x rhs: VARIABLE var:%temp104 result: VARIABLE var:%temp103
  ++  0x60c00000a190: LOGICAL_NOT type:Boolean lhs: VARIABLE var:y result: VARIABLE var:%temp106
  ++  0x60c00000a0d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_not_y rhs: VARIABLE var:%temp106 result: VARIABLE var:%temp105
  ++  0x60c00000a310: LOGICAL_NOT type:Boolean lhs: VARIABLE var:z result: VARIABLE var:%temp108
  ++  0x60c00000a250: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_not_z rhs: VARIABLE var:%temp108 result: VARIABLE var:%temp107
  ++  0x60c00000a490: LOGICAL_NOT type:Boolean lhs: VARIABLE var:w result: VARIABLE var:%temp110
  ++  0x60c00000a3d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_not_w rhs: VARIABLE var:%temp110 result: VARIABLE var:%temp109
  ++  0x60c00000a610: LOGICAL_NOT type:Boolean lhs: VARIABLE var:n result: VARIABLE var:%temp112
  ++  0x60c00000a550: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_not_n rhs: VARIABLE var:%temp112 result: VARIABLE var:%temp111
  ++  0x60c00000a790: LOGICAL_NOT type:Boolean lhs: VARIABLE var:not_a_number result: VARIABLE var:%temp114
  ++  0x60c00000a6d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_not_not_a_number rhs: VARIABLE var:%temp114 result: VARIABLE var:%temp113
  ++  0x60c00000a9d0: NEGATE (SUBTRACT) type:Double lhs: VARIABLE var:x result: VARIABLE var:%temp117
  ++  0x60c00000a910: LOGICAL_NOT type:Boolean lhs: VARIABLE var:%temp117 result: VARIABLE var:%temp116
  ++  0x60c00000a850: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_not_neg_x rhs: VARIABLE var:%temp116 result: VARIABLE var:%temp115
  ++  0x60c00000ac10: NEGATE (SUBTRACT) type:Double lhs: VARIABLE var:y result: VARIABLE var:%temp120
  ++  0x60c00000ab50: LOGICAL_NOT type:Boolean lhs: VARIABLE var:%temp120 result: VARIABLE var:%temp119
  ++  0x60c00000aa90: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_not_neg_y rhs: VARIABLE var:%temp119 result: VARIABLE var:%temp118
  ++  0x60c00000ae50: NEGATE (SUBTRACT) type:Double lhs: VARIABLE var:z result: VARIABLE var:%temp123
  ++  0x60c00000ad90: LOGICAL_NOT type:Boolean lhs: VARIABLE var:%temp123 result: VARIABLE var:%temp122
  ++  0x60c00000acd0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_not_neg_z rhs: VARIABLE var:%temp122 result: VARIABLE var:%temp121
  ++  0x60c00000b090: NEGATE (SUBTRACT) type:Double lhs: VARIABLE var:w result: VARIABLE var:%temp126
  ++  0x60c00000afd0: LOGICAL_NOT type:Boolean lhs: VARIABLE var:%temp126 result: VARIABLE var:%temp125
  ++  0x60c00000af10: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_not_neg_w rhs: VARIABLE var:%temp125 result: VARIABLE var:%temp124
  ++  0x60c00000b2d0: NEGATE (SUBTRACT) type:Double lhs: VARIABLE var:n result: VARIABLE var:%temp129
  ++  0x60c00000b210: LOGICAL_NOT type:Boolean lhs: VARIABLE var:%temp129 result: VARIABLE var:%temp128
  ++  0x60c00000b150: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_not_neg_n rhs: VARIABLE var:%temp128 result: VARIABLE var:%temp127
  ++  0x60c00000b510: NEGATE (SUBTRACT) type:Double lhs: VARIABLE var:not_a_number result: VARIABLE var:%temp132
  ++  0x60c00000b450: LOGICAL_NOT type:Boolean lhs: VARIABLE var:%temp132 result: VARIABLE var:%temp131
  ++  0x60c00000b390: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_not_neg_not_a_number rhs: VARIABLE var:%temp131 result: VARIABLE var:%temp130
  ++  0x60c00000b690: EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp134
  ++  0x60c00000b5d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_equal_y rhs: VARIABLE var:%temp134 result: VARIABLE var:%result
----- end generating... (134)
----- start saving... (134)
----- end saving... (134)
--- compile script to binary with command "export AS2JS_RC='/home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD' && /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tools/as2js -b -o /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tests/a.out /home/snapwebsites/snapcpp/contrib/as2js/tests/binary/double_operator_comparison.ajs".
--- run with return type: 1
warning:unknown-file:1::66: standalone expressions missing in user script; return value will be 0 (TODO: this message still occurs for statements that properly return a value, i.e. assignments, increments, etc.).
----- start flattening...
----- end flattening... (27)
----- start generating... (27)
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
  ++  0x60c000005390: MAXIMUM type:Double lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp2
  ++  0x60c0000052d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_maximum rhs: VARIABLE var:%temp2 result: VARIABLE var:%temp1
  ++  0x60c0000055d0: NEGATE (SUBTRACT) type:Double lhs: VARIABLE var:x result: VARIABLE var:%temp5
  ++  0x60c000005690: NEGATE (SUBTRACT) type:Double lhs: VARIABLE var:y result: VARIABLE var:%temp6
  ++  0x60c000005510: MINIMUM type:Double lhs: VARIABLE var:%temp5 rhs: VARIABLE var:%temp6 result: VARIABLE var:%temp4
  ++  0x60c000005450: ASSIGNMENT type:Double lhs: VARIABLE var:r_minimum_inverse rhs: VARIABLE var:%temp4 result: VARIABLE var:%temp3
  ++  0x60c0000058d0: NEGATE (SUBTRACT) type:Double lhs: VARIABLE var:x result: VARIABLE var:%temp9
  ++  0x60c000005990: NEGATE (SUBTRACT) type:Double lhs: VARIABLE var:y result: VARIABLE var:%temp10
  ++  0x60c000005810: MAXIMUM type:Double lhs: VARIABLE var:%temp9 rhs: VARIABLE var:%temp10 result: VARIABLE var:%temp8
  ++  0x60c000005750: ASSIGNMENT type:Double lhs: VARIABLE var:r_maximum_inverse rhs: VARIABLE var:%temp8 result: VARIABLE var:%temp7
  ++  0x60c000005c90: IF_FALSE label:.L2 lhs: VARIABLE var:z
  ++  0x60c000005b10: ASSIGNMENT type:Double lhs: VARIABLE var:x result: VARIABLE var:%temp12
  ++  0x60c000005d50: GOTO label:.L1
  ++  0x60c000005e10: LABEL label:.L2
  ++  0x60c000005bd0: ASSIGNMENT type:Double lhs: VARIABLE var:y result: VARIABLE var:%temp12
  ++  0x60c000005ed0: LABEL label:.L1
  ++  0x60c000005a50: ASSIGNMENT type:Double lhs: VARIABLE var:r_select rhs: VARIABLE var:%temp12 result: VARIABLE var:%temp11
  ++  0x60c000006290: LOGICAL_NOT type:Boolean lhs: VARIABLE var:z result: VARIABLE var:%temp15
  ++  0x60c0000061d0: IF_FALSE label:.L4 lhs: VARIABLE var:%temp15
  ++  0x60c000006050: ASSIGNMENT type:Double lhs: VARIABLE var:x result: VARIABLE var:%temp14
  ++  0x60c000006350: GOTO label:.L3
  ++  0x60c000006410: LABEL label:.L4
  ++  0x60c000006110: ASSIGNMENT type:Double lhs: VARIABLE var:y result: VARIABLE var:%temp14
  ++  0x60c0000064d0: LABEL label:.L3
  ++  0x60c000005f90: ASSIGNMENT type:Double lhs: VARIABLE var:r_select_not rhs: VARIABLE var:%temp14 result: VARIABLE var:%temp13
  ++  0x60c000006650: MINIMUM type:Double lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp17
  ++  0x60c000006590: ASSIGNMENT type:Double lhs: VARIABLE var:r_minimum rhs: VARIABLE var:%temp17 result: VARIABLE var:%result
----- end generating... (27)
----- start saving... (27)
----- end saving... (27)
--- compile script to binary with command "export AS2JS_RC='/home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD' && /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tools/as2js -b -o /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tests/a.out /home/snapwebsites/snapcpp/contrib/as2js/tests/binary/double_operator_conditional.ajs".
--- run with return type: 3
warning:unknown-file:1::66: standalone expressions missing in user script; return value will be 0 (TODO: this message still occurs for statements that properly return a value, i.e. assignments, increments, etc.).
----- start flattening...
----- end flattening... (30)
----- start generating... (30)
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Number]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Number]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
  ++  0x60c000005390: IDENTITY (ADD) type:Double lhs: VARIABLE var:x result: VARIABLE var:%temp2
  ++  0x60c0000052d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_identity rhs: VARIABLE var:%temp2 result: VARIABLE var:%temp1
  ++  0x60c000005510: NEGATE (SUBTRACT) type:Double lhs: VARIABLE var:x result: VARIABLE var:%temp4
  ++  0x60c000005450: ASSIGNMENT type:Double lhs: VARIABLE var:r_negate rhs: VARIABLE var:%temp4 result: VARIABLE var:%temp3
  ++  0x60c000005690: ADD type:Double lhs: VARIABLE var:x rhs: FLOATING_POINT flt:7.3 result: VARIABLE var:%temp6
  ++  0x60c0000055d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_add_imm8 rhs: VARIABLE var:%temp6 result: VARIABLE var:%temp5
  ++  0x60c000005810: ADD type:Double lhs: VARIABLE var:x rhs: FLOATING_POINT flt:128.01 result: VARIABLE var:%temp8
  ++  0x60c000005750: ASSIGNMENT type:Double lhs: VARIABLE var:r_add_imm32 rhs: VARIABLE var:%temp8 result: VARIABLE var:%temp7
  ++  0x60c000005990: ADD type:Double lhs: VARIABLE var:x rhs: FLOATING_POINT flt:4.43259e+11 result: VARIABLE var:%temp10
  ++  0x60c0000058d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_add_imm64 rhs: VARIABLE var:%temp10 result: VARIABLE var:%temp9
  ++  0x60c000005b10: ADD type:Number lhs: VARIABLE var:x rhs: INTEGER int:84375858252045 result: VARIABLE var:%temp12
  ++  0x60c000005a50: ASSIGNMENT type:Double lhs: VARIABLE var:r_add_int_imm64 rhs: VARIABLE var:%temp12 result: VARIABLE var:%temp11
  ++  0x60c000005c90: ADD type:Double lhs: FLOATING_POINT flt:7.3 rhs: VARIABLE var:x result: VARIABLE var:%temp14
  ++  0x60c000005bd0: ASSIGNMENT type:Double lhs: VARIABLE var:r_imm8_add rhs: VARIABLE var:%temp14 result: VARIABLE var:%temp13
  ++  0x60c000005e10: ADD type:Double lhs: FLOATING_POINT flt:128.01 rhs: VARIABLE var:x result: VARIABLE var:%temp16
  ++  0x60c000005d50: ASSIGNMENT type:Double lhs: VARIABLE var:r_imm32_add rhs: VARIABLE var:%temp16 result: VARIABLE var:%temp15
  ++  0x60c000005f90: ADD type:Double lhs: FLOATING_POINT flt:4.43259e+11 rhs: VARIABLE var:x result: VARIABLE var:%temp18
  ++  0x60c000005ed0: ASSIGNMENT type:Double lhs: VARIABLE var:r_imm64_add rhs: VARIABLE var:%temp18 result: VARIABLE var:%temp17
  ++  0x60c000006110: ADD type:Number lhs: INTEGER int:84375858252045 rhs: VARIABLE var:x result: VARIABLE var:%temp20
  ++  0x60c000006050: ASSIGNMENT type:Double lhs: VARIABLE var:r_int_imm64_add rhs: VARIABLE var:%temp20 result: VARIABLE var:%temp19
  ++  0x60c000006290: SUBTRACT type:Double lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp22
  ++  0x60c0000061d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_subtract rhs: VARIABLE var:%temp22 result: VARIABLE var:%temp21
  ++  0x60c000006410: SUBTRACT type:Double lhs: VARIABLE var:x rhs: FLOATING_POINT flt:7.03 result: VARIABLE var:%temp24
  ++  0x60c000006350: ASSIGNMENT type:Double lhs: VARIABLE var:r_subtract_imm8 rhs: VARIABLE var:%temp24 result: VARIABLE var:%temp23
  ++  0x60c000006590: SUBTRACT type:Double lhs: VARIABLE var:x rhs: FLOATING_POINT flt:128.32 result: VARIABLE var:%temp26
  ++  0x60c0000064d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_subtract_imm32 rhs: VARIABLE var:%temp26 result: VARIABLE var:%temp25
  ++  0x60c000006710: SUBTRACT type:Double lhs: VARIABLE var:x rhs: FLOATING_POINT flt:4.43259e+11 result: VARIABLE var:%temp28
  ++  0x60c000006650: ASSIGNMENT type:Double lhs: VARIABLE var:r_subtract_imm64 rhs: VARIABLE var:%temp28 result: VARIABLE var:%temp27
  ++  0x60c000006890: ADD type:Double lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp30
  ++  0x60c0000067d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_add rhs: VARIABLE var:%temp30 result: VARIABLE var:%result
----- end generating... (30)
----- start saving... (30)
----- end saving... (30)
--- compile script to binary with command "export AS2JS_RC='/home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD' && /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tools/as2js -b -o /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tests/a.out /home/snapwebsites/snapcpp/contrib/as2js/tests/binary/double_operator_additive.ajs".
--- run with return type: 3
warning:unknown-file:1::66: standalone expressions missing in user script; return value will be 0 (TODO: this message still occurs for statements that properly return a value, i.e. assignments, increments, etc.).
----- start flattening...
----- end flattening... (64)
----- start generating... (64)
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Number]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
  ++  0x60c0000052d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_y_power_3 rhs: VARIABLE var:y result: VARIABLE var:%temp1
  ++  0x60c000005390: ASSIGNMENT_POWER type:Number lhs: VARIABLE var:r_y_power_3 rhs: INTEGER int:3 result: VARIABLE var:%temp2
  ++  0x60c000005450: ASSIGNMENT type:Double lhs: VARIABLE var:r_x_multiply_y rhs: VARIABLE var:x result: VARIABLE var:%temp3
  ++  0x60c000005510: ASSIGNMENT_MULTIPLY type:Double lhs: VARIABLE var:r_x_multiply_y rhs: VARIABLE var:y result: VARIABLE var:%temp4
  ++  0x60c0000055d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_y_multiply_x rhs: VARIABLE var:y result: VARIABLE var:%temp5
  ++  0x60c000005690: ASSIGNMENT_MULTIPLY type:Double lhs: VARIABLE var:r_y_multiply_x rhs: VARIABLE var:x result: VARIABLE var:%temp6
  ++  0x60c000005750: ASSIGNMENT type:Double lhs: VARIABLE var:r_x_divide_y rhs: VARIABLE var:x result: VARIABLE var:%temp7
  ++  0x60c000005810: ASSIGNMENT_DIVIDE type:Double lhs: VARIABLE var:r_x_divide_y rhs: VARIABLE var:y result: VARIABLE var:%temp8
  ++  0x60c0000058d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_y_divide_x rhs: VARIABLE var:y result: VARIABLE var:%temp9
  ++  0x60c000005990: ASSIGNMENT_DIVIDE type:Double lhs: VARIABLE var:r_y_divide_x rhs: VARIABLE var:x result: VARIABLE var:%temp10
  ++  0x60c000005a50: ASSIGNMENT type:Double lhs: VARIABLE var:r_x_modulo_y rhs: VARIABLE var:x result: VARIABLE var:%temp11
  ++  0x60c000005b10: ASSIGNMENT_MODULO type:Double lhs: VARIABLE var:r_x_modulo_y rhs: VARIABLE var:y result: VARIABLE var:%temp12
  ++  0x60c000005bd0: ASSIGNMENT type:Double lhs: VARIABLE var:r_y_modulo_x rhs: VARIABLE var:y result: VARIABLE var:%temp13
  ++  0x60c000005c90: ASSIGNMENT_MODULO type:Double lhs: VARIABLE var:r_y_modulo_x rhs: VARIABLE var:x result: VARIABLE var:%temp14
  ++  0x60c000005d50: ASSIGNMENT type:Double lhs: VARIABLE var:r_x_add_y rhs: VARIABLE var:x result: VARIABLE var:%temp15
  ++  0x60c000005e10: ASSIGNMENT_ADD type:Double lhs: VARIABLE var:r_x_add_y rhs: VARIABLE var:y result: VARIABLE var:%temp16
  ++  0x60c000005ed0: ASSIGNMENT type:Double lhs: VARIABLE var:r_y_add_x rhs: VARIABLE var:y result: VARIABLE var:%temp17
  ++  0x60c000005f90: ASSIGNMENT_ADD type:Double lhs: VARIABLE var:r_y_add_x rhs: VARIABLE var:x result: VARIABLE var:%temp18
  ++  0x60c000006050: ASSIGNMENT type:Double lhs: VARIABLE var:r_x_subtract_y rhs: VARIABLE var:x result: VARIABLE var:%temp19
  ++  0x60c000006110: ASSIGNMENT_SUBTRACT type:Double lhs: VARIABLE var:r_x_subtract_y rhs: VARIABLE var:y result: VARIABLE var:%temp20
  ++  0x60c0000061d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_y_subtract_x rhs: VARIABLE var:y result: VARIABLE var:%temp21
  ++  0x60c000006290: ASSIGNMENT_SUBTRACT type:Double lhs: VARIABLE var:r_y_subtract_x rhs: VARIABLE var:x result: VARIABLE var:%temp22
  ++  0x60c000006350: ASSIGNMENT type:Double lhs: VARIABLE var:r_x_shift_left_y rhs: VARIABLE var:x result: VARIABLE var:%temp23
  ++  0x60c000006410: ASSIGNMENT_SHIFT_LEFT type:Double lhs: VARIABLE var:r_x_shift_left_y rhs: VARIABLE var:y result: VARIABLE var:%temp24
  ++  0x60c0000064d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_y_shift_left_x rhs: VARIABLE var:y result: VARIABLE var:%temp25
  ++  0x60c000006590: ASSIGNMENT_SHIFT_LEFT type:Double lhs: VARIABLE var:r_y_shift_left_x rhs: VARIABLE var:x result: VARIABLE var:%temp26
  ++  0x60c000006650: ASSIGNMENT type:Double lhs: VARIABLE var:r_x_shift_right_y rhs: VARIABLE var:x result: VARIABLE var:%temp27
  ++  0x60c000006710: ASSIGNMENT_SHIFT_RIGHT type:Double lhs: VARIABLE var:r_x_shift_right_y rhs: VARIABLE var:y result: VARIABLE var:%temp28
  ++  0x60c0000067d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_y_shift_right_x rhs: VARIABLE var:y result: VARIABLE var:%temp29
  ++  0x60c000006890: ASSIGNMENT_SHIFT_RIGHT type:Double lhs: VARIABLE var:r_y_shift_right_x rhs: VARIABLE var:x result: VARIABLE var:%temp30
  ++  0x60c000006950: ASSIGNMENT type:Double lhs: VARIABLE var:r_x_shift_right_unsigned_y rhs: VARIABLE var:x result: VARIABLE var:%temp31
  ++  0x60c000006a10: ASSIGNMENT_SHIFT_RIGHT_UNSIGNED type:Double lhs: VARIABLE var:r_x_shift_right_unsigned_y rhs: VARIABLE var:y result: VARIABLE var:%temp32
  ++  0x60c000006ad0: ASSIGNMENT type:Double lhs: VARIABLE var:r_y_shift_right_unsigned_x rhs: VARIABLE var:y result: VARIABLE var:%temp33
  ++  0x60c000006b90: ASSIGNMENT_SHIFT_RIGHT_UNSIGNED type:Double lhs: VARIABLE var:r_y_shift_right_unsigned_x rhs: VARIABLE var:x result: VARIABLE var:%temp34
  ++  0x60c000006c50: ASSIGNMENT type:Double lhs: VARIABLE var:r_x_rotate_left_y rhs: VARIABLE var:x result: VARIABLE var:%temp35
  ++  0x60c000006d10: ASSIGNMENT_ROTATE_LEFT type:Double lhs: VARIABLE var:r_x_rotate_left_y rhs: VARIABLE var:y result: VARIABLE var:%temp36
  ++  0x60c000006dd0: ASSIGNMENT type:Double lhs: VARIABLE var:r_y_rotate_left_x rhs: VARIABLE var:y result: VARIABLE var:%temp37
  ++  0x60c000006e90: ASSIGNMENT_ROTATE_LEFT type:Double lhs: VARIABLE var:r_y_rotate_left_x rhs: VARIABLE var:x result: VARIABLE var:%temp38
  ++  0x60c000006f50: ASSIGNMENT type:Double lhs: VARIABLE var:r_x_rotate_right_y rhs: VARIABLE var:x result: VARIABLE var:%temp39
  ++  0x60c000007010: ASSIGNMENT_ROTATE_RIGHT type:Double lhs: VARIABLE var:r_x_rotate_right_y rhs: VARIABLE var:y result: VARIABLE var:%temp40
  ++  0x60c0000070d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_y_rotate_right_x rhs: VARIABLE var:y result: VARIABLE var:%temp41
  ++  0x60c000007190: ASSIGNMENT_ROTATE_RIGHT type:Double lhs: VARIABLE var:r_y_rotate_right_x rhs: VARIABLE var:x result: VARIABLE var:%temp42
  ++  0x60c000007250: ASSIGNMENT type:Double lhs: VARIABLE var:r_x_bitwise_and_y rhs: VARIABLE var:x result: VARIABLE var:%temp43
  ++  0x60c000007310: ASSIGNMENT_BITWISE_AND type:Double lhs: VARIABLE var:r_x_bitwise_and_y rhs: VARIABLE var:y result: VARIABLE var:%temp44
  ++  0x60c0000073d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_y_bitwise_and_x rhs: VARIABLE var:y result: VARIABLE var:%temp45
  ++  0x60c000007490: ASSIGNMENT_BITWISE_AND type:Double lhs: VARIABLE var:r_y_bitwise_and_x rhs: VARIABLE var:x result: VARIABLE var:%temp46
  ++  0x60c000007550: ASSIGNMENT type:Double lhs: VARIABLE var:r_x_bitwise_xor_y rhs: VARIABLE var:x result: VARIABLE var:%temp47
  ++  0x60c000007610: ASSIGNMENT_BITWISE_XOR type:Double lhs: VARIABLE var:r_x_bitwise_xor_y rhs: VARIABLE var:y result: VARIABLE var:%temp48
  ++  0x60c0000076d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_y_bitwise_xor_x rhs: VARIABLE var:y result: VARIABLE var:%temp49
  ++  0x60c000007790: ASSIGNMENT_BITWISE_XOR type:Double lhs: VARIABLE var:r_y_bitwise_xor_x rhs: VARIABLE var:x result: VARIABLE var:%temp50
  ++  0x60c000007850: ASSIGNMENT type:Double lhs: VARIABLE var:r_x_bitwise_or_y rhs: VARIABLE var:x result: VARIABLE var:%temp51
  ++  0x60c000007910: ASSIGNMENT_BITWISE_OR type:Double lhs: VARIABLE var:r_x_bitwise_or_y rhs: VARIABLE var:y result: VARIABLE var:%temp52
  ++  0x60c0000079d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_y_bitwise_or_x rhs: VARIABLE var:y result: VARIABLE var:%temp53
  ++  0x60c000007a90: ASSIGNMENT_BITWISE_OR type:Double lhs: VARIABLE var:r_y_bitwise_or_x rhs: VARIABLE var:x result: VARIABLE var:%temp54
  ++  0x60c000007b50: ASSIGNMENT type:Double lhs: VARIABLE var:r_x_minimum_y rhs: VARIABLE var:x result: VARIABLE var:%temp55
  ++  0x60c000007c10: ASSIGNMENT_MINIMUM type:Double lhs: VARIABLE var:r_x_minimum_y rhs: VARIABLE var:y result: VARIABLE var:%temp56
  ++  0x60c000007cd0: ASSIGNMENT type:Double lhs: VARIABLE var:r_y_minimum_x rhs: VARIABLE var:y result: VARIABLE var:%temp57
  ++  0x60c000007d90: ASSIGNMENT_MINIMUM type:Double lhs: VARIABLE var:r_y_minimum_x rhs: VARIABLE var:x result: VARIABLE var:%temp58
  ++  0x60c000007e50: ASSIGNMENT type:Double lhs: VARIABLE var:r_x_maximum_y rhs: VARIABLE var:x result: VARIABLE var:%temp59
  ++  0x60c000007f10: ASSIGNMENT_MAXIMUM type:Double lhs: VARIABLE var:r_x_maximum_y rhs: VARIABLE var:y result: VARIABLE var:%temp60
  ++  0x60c000007fd0: ASSIGNMENT type:Double lhs: VARIABLE var:r_y_maximum_x rhs: VARIABLE var:y result: VARIABLE var:%temp61
  ++  0x60c000008090: ASSIGNMENT_MAXIMUM type:Double lhs: VARIABLE var:r_y_maximum_x rhs: VARIABLE var:x result: VARIABLE var:%temp62
  ++  0x60c000008150: ASSIGNMENT type:Double lhs: VARIABLE var:r_x_power_3 rhs: VARIABLE var:x result: VARIABLE var:%temp63
  ++  0x60c000008210: ASSIGNMENT_POWER type:Number lhs: VARIABLE var:r_x_power_3 rhs: INTEGER int:3 result: VARIABLE var:%result
----- end generating... (64)
----- start saving... (64)
----- end saving... (64)
--- compile script to binary with command "export AS2JS_RC='/home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD' && /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tools/as2js -b -o /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tests/a.out /home/snapwebsites/snapcpp/contrib/as2js/tests/binary/double_operator_assignment.ajs".
--- run with return type: 3
warning:unknown-file:1::66: standalone expressions missing in user script; return value will be 0 (TODO: this message still occurs for statements that properly return a value, i.e. assignments, increments, etc.).
----- start flattening...
----- end flattening... (30)
----- start generating... (30)
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Number]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Number]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Number]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Number]
--- type of var is CLASS and name [Number]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Number]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Number]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Number]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Number]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Number]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Number]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
  ++  0x60c000005390: MULTIPLY type:Number lhs: VARIABLE var:x rhs: INTEGER int:33 result: VARIABLE var:%temp2
  ++  0x60c0000052d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_multiply_imm8 rhs: VARIABLE var:%temp2 result: VARIABLE var:%temp1
  ++  0x60c000005510: MULTIPLY type:Number lhs: VARIABLE var:x rhs: INTEGER int:30003 result: VARIABLE var:%temp4
  ++  0x60c000005450: ASSIGNMENT type:Double lhs: VARIABLE var:r_multiply_imm32 rhs: VARIABLE var:%temp4 result: VARIABLE var:%temp3
  ++  0x60c000005690: MULTIPLY type:Number lhs: VARIABLE var:x rhs: INTEGER int:1108152157446 result: VARIABLE var:%temp6
  ++  0x60c0000055d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_multiply_imm64 rhs: VARIABLE var:%temp6 result: VARIABLE var:%temp5
  ++  0x60c000005810: DIVIDE type:Double lhs: VARIABLE var:w rhs: VARIABLE var:y result: VARIABLE var:%temp8
  ++  0x60c000005750: ASSIGNMENT type:Double lhs: VARIABLE var:r_divide rhs: VARIABLE var:%temp8 result: VARIABLE var:%temp7
  ++  0x60c000005990: DIVIDE type:Number lhs: VARIABLE var:w rhs: INTEGER int:33 result: VARIABLE var:%temp10
  ++  0x60c0000058d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_divide_imm8 rhs: VARIABLE var:%temp10 result: VARIABLE var:%temp9
  ++  0x60c000005b10: DIVIDE type:Number lhs: VARIABLE var:w rhs: INTEGER int:30003 result: VARIABLE var:%temp12
  ++  0x60c000005a50: ASSIGNMENT type:Double lhs: VARIABLE var:r_divide_imm32 rhs: VARIABLE var:%temp12 result: VARIABLE var:%temp11
  ++  0x60c000005c90: DIVIDE type:Number lhs: VARIABLE var:w rhs: INTEGER int:1108152157446 result: VARIABLE var:%temp14
  ++  0x60c000005bd0: ASSIGNMENT type:Double lhs: VARIABLE var:r_divide_imm64 rhs: VARIABLE var:%temp14 result: VARIABLE var:%temp13
  ++  0x60c000005e10: DIVIDE type:Double lhs: VARIABLE var:n rhs: VARIABLE var:w result: VARIABLE var:%temp16
  ++  0x60c000005d50: ASSIGNMENT type:Double lhs: VARIABLE var:r_divide_minus_zero rhs: VARIABLE var:%temp16 result: VARIABLE var:%temp15
  ++  0x60c000005f90: MODULO type:Double lhs: VARIABLE var:w rhs: VARIABLE var:y result: VARIABLE var:%temp18
  ++  0x60c000005ed0: ASSIGNMENT type:Double lhs: VARIABLE var:r_modulo rhs: VARIABLE var:%temp18 result: VARIABLE var:%temp17
  ++  0x60c000006110: MODULO type:Number lhs: VARIABLE var:w rhs: INTEGER int:33 result: VARIABLE var:%temp20
  ++  0x60c000006050: ASSIGNMENT type:Double lhs: VARIABLE var:r_modulo_imm8 rhs: VARIABLE var:%temp20 result: VARIABLE var:%temp19
  ++  0x60c000006290: MODULO type:Number lhs: VARIABLE var:w rhs: INTEGER int:30003 result: VARIABLE var:%temp22
  ++  0x60c0000061d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_modulo_imm32 rhs: VARIABLE var:%temp22 result: VARIABLE var:%temp21
  ++  0x60c000006410: MODULO type:Number lhs: VARIABLE var:w rhs: INTEGER int:1108152157446 result: VARIABLE var:%temp24
  ++  0x60c000006350: ASSIGNMENT type:Double lhs: VARIABLE var:r_modulo_imm64 rhs: VARIABLE var:%temp24 result: VARIABLE var:%temp23
  ++  0x60c000006590: POWER type:Number lhs: VARIABLE var:z rhs: INTEGER int:8 result: VARIABLE var:%temp26
  ++  0x60c0000064d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_power rhs: VARIABLE var:%temp26 result: VARIABLE var:%temp25
  ++  0x60c000006710: POWER type:Number lhs: VARIABLE var:z rhs: INTEGER int:12 result: VARIABLE var:%temp28
  ++  0x60c000006650: ASSIGNMENT type:Double lhs: VARIABLE var:r_power_imm8 rhs: VARIABLE var:%temp28 result: VARIABLE var:%temp27
  ++  0x60c000006890: MULTIPLY type:Double lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp30
  ++  0x60c0000067d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_multiply rhs: VARIABLE var:%temp30 result: VARIABLE var:%result
----- end generating... (30)
----- start saving... (30)
----- end saving... (30)
--- compile script to binary with command "export AS2JS_RC='/home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD' && /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tools/as2js -b -o /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tests/a.out /home/snapwebsites/snapcpp/contrib/as2js/tests/binary/double_operator_multiplicative.ajs".
--- run with return type: 3
warning:unknown-file:1::66: standalone expressions missing in user script; return value will be 0 (TODO: this message still occurs for statements that properly return a value, i.e. assignments, increments, etc.).
----- start flattening...
----- end flattening... (30)
----- start generating... (30)
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
  ++  0x60c000005390: SHIFT_LEFT type:Double lhs: VARIABLE var:x rhs: INTEGER int:1 result: VARIABLE var:%temp2
  ++  0x60c0000052d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_shift_left_imm1 rhs: VARIABLE var:%temp2 result: VARIABLE var:%temp1
  ++  0x60c000005510: SHIFT_LEFT type:Double lhs: VARIABLE var:x rhs: INTEGER int:15 result: VARIABLE var:%temp4
  ++  0x60c000005450: ASSIGNMENT type:Double lhs: VARIABLE var:r_shift_left_imm8 rhs: VARIABLE var:%temp4 result: VARIABLE var:%temp3
  ++  0x60c000005690: SHIFT_RIGHT type:Double lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp6
  ++  0x60c0000055d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_shift_right rhs: VARIABLE var:%temp6 result: VARIABLE var:%temp5
  ++  0x60c000005810: SHIFT_RIGHT type:Double lhs: VARIABLE var:x rhs: INTEGER int:1 result: VARIABLE var:%temp8
  ++  0x60c000005750: ASSIGNMENT type:Double lhs: VARIABLE var:r_shift_right_imm1 rhs: VARIABLE var:%temp8 result: VARIABLE var:%temp7
  ++  0x60c000005990: SHIFT_RIGHT type:Double lhs: VARIABLE var:x rhs: INTEGER int:15 result: VARIABLE var:%temp10
  ++  0x60c0000058d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_shift_right_imm8 rhs: VARIABLE var:%temp10 result: VARIABLE var:%temp9
  ++  0x60c000005b10: SHIFT_RIGHT_UNSIGNED type:Double lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp12
  ++  0x60c000005a50: ASSIGNMENT type:Double lhs: VARIABLE var:r_shift_right_unsigned rhs: VARIABLE var:%temp12 result: VARIABLE var:%temp11
  ++  0x60c000005c90: SHIFT_RIGHT_UNSIGNED type:Double lhs: VARIABLE var:x rhs: INTEGER int:1 result: VARIABLE var:%temp14
  ++  0x60c000005bd0: ASSIGNMENT type:Double lhs: VARIABLE var:r_shift_right_unsigned_imm1 rhs: VARIABLE var:%temp14 result: VARIABLE var:%temp13
  ++  0x60c000005e10: SHIFT_RIGHT_UNSIGNED type:Double lhs: VARIABLE var:x rhs: INTEGER int:15 result: VARIABLE var:%temp16
  ++  0x60c000005d50: ASSIGNMENT type:Double lhs: VARIABLE var:r_shift_right_unsigned_imm8 rhs: VARIABLE var:%temp16 result: VARIABLE var:%temp15
  ++  0x60c000005f90: ROTATE_LEFT type:Double lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp18
  ++  0x60c000005ed0: ASSIGNMENT type:Double lhs: VARIABLE var:r_rotate_left rhs: VARIABLE var:%temp18 result: VARIABLE var:%temp17
  ++  0x60c000006110: ROTATE_LEFT type:Double lhs: VARIABLE var:x rhs: INTEGER int:1 result: VARIABLE var:%temp20
  ++  0x60c000006050: ASSIGNMENT type:Double lhs: VARIABLE var:r_rotate_left_imm1 rhs: VARIABLE var:%temp20 result: VARIABLE var:%temp19
  ++  0x60c000006290: ROTATE_LEFT type:Double lhs: VARIABLE var:x rhs: INTEGER int:15 result: VARIABLE var:%temp22
  ++  0x60c0000061d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_rotate_left_imm8 rhs: VARIABLE var:%temp22 result: VARIABLE var:%temp21
  ++  0x60c000006410: ROTATE_RIGHT type:Double lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp24
  ++  0x60c000006350: ASSIGNMENT type:Double lhs: VARIABLE var:r_rotate_right rhs: VARIABLE var:%temp24 result: VARIABLE var:%temp23
  ++  0x60c000006590: ROTATE_RIGHT type:Double lhs: VARIABLE var:x rhs: INTEGER int:1 result: VARIABLE var:%temp26
  ++  0x60c0000064d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_rotate_right_imm1 rhs: VARIABLE var:%temp26 result: VARIABLE var:%temp25
  ++  0x60c000006710: ROTATE_RIGHT type:Double lhs: VARIABLE var:x rhs: INTEGER int:15 result: VARIABLE var:%temp28
  ++  0x60c000006650: ASSIGNMENT type:Double lhs: VARIABLE var:r_rotate_right_imm8 rhs: VARIABLE var:%temp28 result: VARIABLE var:%temp27
  ++  0x60c000006890: SHIFT_LEFT type:Double lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp30
  ++  0x60c0000067d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_shift_left rhs: VARIABLE var:%temp30 result: VARIABLE var:%result
----- end generating... (30)
----- start saving... (30)
----- end saving... (30)
--- compile script to binary with command "export AS2JS_RC='/home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD' && /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tools/as2js -b -o /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tests/a.out /home/snapwebsites/snapcpp/contrib/as2js/tests/binary/double_operator_shift.ajs".
--- run with return type: 3
warning:unknown-file:1::66: standalone expressions missing in user script; return value will be 0 (TODO: this message still occurs for statements that properly return a value, i.e. assignments, increments, etc.).
----- start flattening...
----- end flattening... (24)
----- start generating... (24)
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Number]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Number]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Number]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Number]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
--- type of var is CLASS and name [Double]
  ++  0x60c000005390: BITWISE_AND type:Double lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp2
  ++  0x60c0000052d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_and rhs: VARIABLE var:%temp2 result: VARIABLE var:%temp1
  ++  0x60c000005510: BITWISE_AND type:Double lhs: VARIABLE var:x rhs: FLOATING_POINT flt:1.90043e+08 result: VARIABLE var:%temp4
  ++  0x60c000005450: ASSIGNMENT type:Double lhs: VARIABLE var:r_and_double_imm rhs: VARIABLE var:%temp4 result: VARIABLE var:%temp3
  ++  0x60c000005690: BITWISE_AND type:Number lhs: VARIABLE var:x rhs: INTEGER int:197342253 result: VARIABLE var:%temp6
  ++  0x60c0000055d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_and_int_imm rhs: VARIABLE var:%temp6 result: VARIABLE var:%temp5
  ++  0x60c000005810: BITWISE_OR type:Double lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp8
  ++  0x60c000005750: ASSIGNMENT type:Double lhs: VARIABLE var:r_or rhs: VARIABLE var:%temp8 result: VARIABLE var:%temp7
  ++  0x60c000005990: BITWISE_OR type:Double lhs: VARIABLE var:x rhs: FLOATING_POINT flt:1.00942e+06 result: VARIABLE var:%temp10
  ++  0x60c0000058d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_or_double_imm rhs: VARIABLE var:%temp10 result: VARIABLE var:%temp9
  ++  0x60c000005b10: BITWISE_OR type:Number lhs: VARIABLE var:x rhs: INTEGER int:1009419 result: VARIABLE var:%temp12
  ++  0x60c000005a50: ASSIGNMENT type:Double lhs: VARIABLE var:r_or_int_imm rhs: VARIABLE var:%temp12 result: VARIABLE var:%temp11
  ++  0x60c000005c90: BITWISE_XOR type:Double lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp14
  ++  0x60c000005bd0: ASSIGNMENT type:Double lhs: VARIABLE var:r_xor rhs: VARIABLE var:%temp14 result: VARIABLE var:%temp13
  ++  0x60c000005e10: BITWISE_XOR type:Double lhs: VARIABLE var:x rhs: FLOATING_POINT flt:-40775.3 result: VARIABLE var:%temp16
  ++  0x60c000005d50: ASSIGNMENT type:Double lhs: VARIABLE var:r_xor_double_imm rhs: VARIABLE var:%temp16 result: VARIABLE var:%temp15
  ++  0x60c000005f90: BITWISE_XOR type:Number lhs: VARIABLE var:x rhs: INTEGER int:-40775 result: VARIABLE var:%temp18
  ++  0x60c000005ed0: ASSIGNMENT type:Double lhs: VARIABLE var:r_xor_int_imm rhs: VARIABLE var:%temp18 result: VARIABLE var:%temp17
  ++  0x60c000006110: BITWISE_XOR type:Double lhs: FLOATING_POINT flt:-40775.3 rhs: VARIABLE var:x result: VARIABLE var:%temp20
  ++  0x60c000006050: ASSIGNMENT type:Double lhs: VARIABLE var:r_double_xor_imm rhs: VARIABLE var:%temp20 result: VARIABLE var:%temp19
  ++  0x60c000006290: BITWISE_XOR type:Number lhs: INTEGER int:-40775 rhs: VARIABLE var:x result: VARIABLE var:%temp22
  ++  0x60c0000061d0: ASSIGNMENT type:Double lhs: VARIABLE var:r_int_xor_imm rhs: VARIABLE var:%temp22 result: VARIABLE var:%temp21
  ++  0x60c000006410: BITWISE_NOT type:Double lhs: VARIABLE var:x result: VARIABLE var:%temp24
  ++  0x60c000006350: ASSIGNMENT type:Double lhs: VARIABLE var:r_not rhs: VARIABLE var:%temp24 result: VARIABLE var:%result
----- end generating... (24)
----- start saving... (24)
----- end saving... (24)
--- compile script to binary with command "export AS2JS_RC='/home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD' && /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tools/as2js -b -o /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tests/a.out /home/snapwebsites/snapcpp/contrib/as2js/tests/binary/double_operator_bitwise.ajs".
--- run with return type: 3
SECTION: binary_boolean_operators: test binary operators for booleans
warning:unknown-file:1::66: standalone expressions missing in user script; return value will be 0 (TODO: this message still occurs for statements that properly return a value, i.e. assignments, increments, etc.).
----- start flattening...
----- end flattening... (90)
----- start generating... (90)
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Integer]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
  ++  0x60c000005390: EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp2
  ++  0x60c0000052d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_equal_x rhs: VARIABLE var:%temp2 result: VARIABLE var:%temp1
  ++  0x60c000005510: EQUAL type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:x result: VARIABLE var:%temp4
  ++  0x60c000005450: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_equal_x rhs: VARIABLE var:%temp4 result: VARIABLE var:%temp3
  ++  0x60c000005690: EQUAL type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:y result: VARIABLE var:%temp6
  ++  0x60c0000055d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_equal_y rhs: VARIABLE var:%temp6 result: VARIABLE var:%temp5
  ++  0x60c000005810: STRICTLY_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp8
  ++  0x60c000005750: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_strictly_equal_x rhs: VARIABLE var:%temp8 result: VARIABLE var:%temp7
  ++  0x60c000005990: STRICTLY_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp10
  ++  0x60c0000058d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_strictly_equal_y rhs: VARIABLE var:%temp10 result: VARIABLE var:%temp9
  ++  0x60c000005b10: STRICTLY_EQUAL type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:x result: VARIABLE var:%temp12
  ++  0x60c000005a50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_strictly_equal_x rhs: VARIABLE var:%temp12 result: VARIABLE var:%temp11
  ++  0x60c000005c90: STRICTLY_EQUAL type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:y result: VARIABLE var:%temp14
  ++  0x60c000005bd0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_strictly_equal_y rhs: VARIABLE var:%temp14 result: VARIABLE var:%temp13
  ++  0x60c000005e10: SMART_MATCH type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp16
  ++  0x60c000005d50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_smart_match_x rhs: VARIABLE var:%temp16 result: VARIABLE var:%temp15
  ++  0x60c000005f90: SMART_MATCH type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp18
  ++  0x60c000005ed0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_smart_match_y rhs: VARIABLE var:%temp18 result: VARIABLE var:%temp17
  ++  0x60c000006110: SMART_MATCH type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:x result: VARIABLE var:%temp20
  ++  0x60c000006050: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_smart_match_x rhs: VARIABLE var:%temp20 result: VARIABLE var:%temp19
  ++  0x60c000006290: SMART_MATCH type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:y result: VARIABLE var:%temp22
  ++  0x60c0000061d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_smart_match_y rhs: VARIABLE var:%temp22 result: VARIABLE var:%temp21
  ++  0x60c000006410: NOT_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp24
  ++  0x60c000006350: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_not_equal_x rhs: VARIABLE var:%temp24 result: VARIABLE var:%temp23
  ++  0x60c000006590: NOT_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp26
  ++  0x60c0000064d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_not_equal_y rhs: VARIABLE var:%temp26 result: VARIABLE var:%temp25
  ++  0x60c000006710: NOT_EQUAL type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:x result: VARIABLE var:%temp28
  ++  0x60c000006650: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_not_equal_x rhs: VARIABLE var:%temp28 result: VARIABLE var:%temp27
  ++  0x60c000006890: NOT_EQUAL type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:y result: VARIABLE var:%temp30
  ++  0x60c0000067d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_not_equal_y rhs: VARIABLE var:%temp30 result: VARIABLE var:%temp29
  ++  0x60c000006a10: STRICTLY_NOT_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp32
  ++  0x60c000006950: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_strictly_not_equal_x rhs: VARIABLE var:%temp32 result: VARIABLE var:%temp31
  ++  0x60c000006b90: STRICTLY_NOT_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp34
  ++  0x60c000006ad0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_strictly_not_equal_y rhs: VARIABLE var:%temp34 result: VARIABLE var:%temp33
  ++  0x60c000006d10: STRICTLY_NOT_EQUAL type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:x result: VARIABLE var:%temp36
  ++  0x60c000006c50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_strictly_not_equal_x rhs: VARIABLE var:%temp36 result: VARIABLE var:%temp35
  ++  0x60c000006e90: STRICTLY_NOT_EQUAL type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:y result: VARIABLE var:%temp38
  ++  0x60c000006dd0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_strictly_not_equal_y rhs: VARIABLE var:%temp38 result: VARIABLE var:%temp37
  ++  0x60c000007010: LESS type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp40
  ++  0x60c000006f50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_less_x rhs: VARIABLE var:%temp40 result: VARIABLE var:%temp39
  ++  0x60c000007190: LESS type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp42
  ++  0x60c0000070d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_less_y rhs: VARIABLE var:%temp42 result: VARIABLE var:%temp41
  ++  0x60c000007310: LESS type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:x result: VARIABLE var:%temp44
  ++  0x60c000007250: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_less_x rhs: VARIABLE var:%temp44 result: VARIABLE var:%temp43
  ++  0x60c000007490: LESS type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:y result: VARIABLE var:%temp46
  ++  0x60c0000073d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_less_y rhs: VARIABLE var:%temp46 result: VARIABLE var:%temp45
  ++  0x60c000007610: LESS_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp48
  ++  0x60c000007550: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_less_equal_x rhs: VARIABLE var:%temp48 result: VARIABLE var:%temp47
  ++  0x60c000007790: LESS_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp50
  ++  0x60c0000076d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_less_equal_y rhs: VARIABLE var:%temp50 result: VARIABLE var:%temp49
  ++  0x60c000007910: LESS_EQUAL type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:x result: VARIABLE var:%temp52
  ++  0x60c000007850: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_less_equal_x rhs: VARIABLE var:%temp52 result: VARIABLE var:%temp51
  ++  0x60c000007a90: LESS_EQUAL type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:y result: VARIABLE var:%temp54
  ++  0x60c0000079d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_less_equal_y rhs: VARIABLE var:%temp54 result: VARIABLE var:%temp53
  ++  0x60c000007c10: GREATER type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp56
  ++  0x60c000007b50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_greater_x rhs: VARIABLE var:%temp56 result: VARIABLE var:%temp55
  ++  0x60c000007d90: GREATER type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp58
  ++  0x60c000007cd0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_greater_y rhs: VARIABLE var:%temp58 result: VARIABLE var:%temp57
  ++  0x60c000007f10: GREATER type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:x result: VARIABLE var:%temp60
  ++  0x60c000007e50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_greater_x rhs: VARIABLE var:%temp60 result: VARIABLE var:%temp59
  ++  0x60c000008090: GREATER type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:y result: VARIABLE var:%temp62
  ++  0x60c000007fd0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_greater_y rhs: VARIABLE var:%temp62 result: VARIABLE var:%temp61
  ++  0x60c000008210: GREATER_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp64
  ++  0x60c000008150: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_greater_equal_x rhs: VARIABLE var:%temp64 result: VARIABLE var:%temp63
  ++  0x60c000008390: GREATER_EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp66
  ++  0x60c0000082d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_greater_equal_y rhs: VARIABLE var:%temp66 result: VARIABLE var:%temp65
  ++  0x60c000008510: GREATER_EQUAL type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:x result: VARIABLE var:%temp68
  ++  0x60c000008450: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_greater_equal_x rhs: VARIABLE var:%temp68 result: VARIABLE var:%temp67
  ++  0x60c000008690: GREATER_EQUAL type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:y result: VARIABLE var:%temp70
  ++  0x60c0000085d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_greater_equal_y rhs: VARIABLE var:%temp70 result: VARIABLE var:%temp69
  ++  0x60c000008810: COMPARE lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp72
  ++  0x60c000008750: ASSIGNMENT type:Integer lhs: VARIABLE var:r_x_compare_x rhs: VARIABLE var:%temp72 result: VARIABLE var:%temp71
  ++  0x60c000008990: COMPARE lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp74
  ++  0x60c0000088d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_x_compare_y rhs: VARIABLE var:%temp74 result: VARIABLE var:%temp73
  ++  0x60c000008b10: COMPARE lhs: VARIABLE var:y rhs: VARIABLE var:x result: VARIABLE var:%temp76
  ++  0x60c000008a50: ASSIGNMENT type:Integer lhs: VARIABLE var:r_y_compare_x rhs: VARIABLE var:%temp76 result: VARIABLE var:%temp75
  ++  0x60c000008c90: COMPARE lhs: VARIABLE var:y rhs: VARIABLE var:y result: VARIABLE var:%temp78
  ++  0x60c000008bd0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_y_compare_y rhs: VARIABLE var:%temp78 result: VARIABLE var:%temp77
  ++  0x60c000008e10: LOGICAL_NOT type:Boolean lhs: VARIABLE var:x result: VARIABLE var:%temp80
  ++  0x60c000008d50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_not_x rhs: VARIABLE var:%temp80 result: VARIABLE var:%temp79
  ++  0x60c000008f90: LOGICAL_NOT type:Boolean lhs: VARIABLE var:y result: VARIABLE var:%temp82
  ++  0x60c000008ed0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_not_y rhs: VARIABLE var:%temp82 result: VARIABLE var:%temp81
  ++  0x60c0000091d0: LOGICAL_NOT type:Boolean lhs: VARIABLE var:x result: VARIABLE var:%temp85
  ++  0x60c000009110: LOGICAL_NOT type:Boolean lhs: VARIABLE var:%temp85 result: VARIABLE var:%temp84
  ++  0x60c000009050: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_not_not_x rhs: VARIABLE var:%temp84 result: VARIABLE var:%temp83
  ++  0x60c000009410: LOGICAL_NOT type:Boolean lhs: VARIABLE var:y result: VARIABLE var:%temp88
  ++  0x60c000009350: LOGICAL_NOT type:Boolean lhs: VARIABLE var:%temp88 result: VARIABLE var:%temp87
  ++  0x60c000009290: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_not_not_y rhs: VARIABLE var:%temp87 result: VARIABLE var:%temp86
  ++  0x60c000009590: EQUAL type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp90
  ++  0x60c0000094d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_equal_y rhs: VARIABLE var:%temp90 result: VARIABLE var:%result
----- end generating... (90)
----- start saving... (90)
----- end saving... (90)
--- compile script to binary with command "export AS2JS_RC='/home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD' && /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tools/as2js -b -o /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tests/a.out /home/snapwebsites/snapcpp/contrib/as2js/tests/binary/boolean_operator_comparison.ajs".
--- run with return type: 1
warning:unknown-file:1::66: standalone expressions missing in user script; return value will be 0 (TODO: this message still occurs for statements that properly return a value, i.e. assignments, increments, etc.).
----- start flattening...
----- end flattening... (24)
----- start generating... (24)
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
  ++  0x60c0000052d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_and_x rhs: VARIABLE var:x result: VARIABLE var:%temp1
  ++  0x60c000005390: ASSIGNMENT_LOGICAL_AND type:Boolean lhs: VARIABLE var:r_x_and_x rhs: VARIABLE var:x result: VARIABLE var:%temp2
  ++  0x60c000005450: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_and_x rhs: VARIABLE var:y result: VARIABLE var:%temp3
  ++  0x60c000005510: ASSIGNMENT_LOGICAL_AND type:Boolean lhs: VARIABLE var:r_y_and_x rhs: VARIABLE var:x result: VARIABLE var:%temp4
  ++  0x60c0000055d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_and_y rhs: VARIABLE var:y result: VARIABLE var:%temp5
  ++  0x60c000005690: ASSIGNMENT_LOGICAL_AND type:Boolean lhs: VARIABLE var:r_y_and_y rhs: VARIABLE var:y result: VARIABLE var:%temp6
  ++  0x60c000005750: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_or_x rhs: VARIABLE var:x result: VARIABLE var:%temp7
  ++  0x60c000005810: ASSIGNMENT_LOGICAL_OR type:Boolean lhs: VARIABLE var:r_x_or_x rhs: VARIABLE var:x result: VARIABLE var:%temp8
  ++  0x60c0000058d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_or_y rhs: VARIABLE var:x result: VARIABLE var:%temp9
  ++  0x60c000005990: ASSIGNMENT_LOGICAL_OR type:Boolean lhs: VARIABLE var:r_x_or_y rhs: VARIABLE var:y result: VARIABLE var:%temp10
  ++  0x60c000005a50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_or_x rhs: VARIABLE var:y result: VARIABLE var:%temp11
  ++  0x60c000005b10: ASSIGNMENT_LOGICAL_OR type:Boolean lhs: VARIABLE var:r_y_or_x rhs: VARIABLE var:x result: VARIABLE var:%temp12
  ++  0x60c000005bd0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_or_y rhs: VARIABLE var:y result: VARIABLE var:%temp13
  ++  0x60c000005c90: ASSIGNMENT_LOGICAL_OR type:Boolean lhs: VARIABLE var:r_y_or_y rhs: VARIABLE var:y result: VARIABLE var:%temp14
  ++  0x60c000005d50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_xor_x rhs: VARIABLE var:x result: VARIABLE var:%temp15
  ++  0x60c000005e10: ASSIGNMENT_LOGICAL_XOR type:Boolean lhs: VARIABLE var:r_x_xor_x rhs: VARIABLE var:x result: VARIABLE var:%temp16
  ++  0x60c000005ed0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_xor_y rhs: VARIABLE var:x result: VARIABLE var:%temp17
  ++  0x60c000005f90: ASSIGNMENT_LOGICAL_XOR type:Boolean lhs: VARIABLE var:r_x_xor_y rhs: VARIABLE var:y result: VARIABLE var:%temp18
  ++  0x60c000006050: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_xor_x rhs: VARIABLE var:y result: VARIABLE var:%temp19
  ++  0x60c000006110: ASSIGNMENT_LOGICAL_XOR type:Boolean lhs: VARIABLE var:r_y_xor_x rhs: VARIABLE var:x result: VARIABLE var:%temp20
  ++  0x60c0000061d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_xor_y rhs: VARIABLE var:y result: VARIABLE var:%temp21
  ++  0x60c000006290: ASSIGNMENT_LOGICAL_XOR type:Boolean lhs: VARIABLE var:r_y_xor_y rhs: VARIABLE var:y result: VARIABLE var:%temp22
  ++  0x60c000006350: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_and_y rhs: VARIABLE var:x result: VARIABLE var:%temp23
  ++  0x60c000006410: ASSIGNMENT_LOGICAL_AND type:Boolean lhs: VARIABLE var:r_x_and_y rhs: VARIABLE var:y result: VARIABLE var:%result
----- end generating... (24)
----- start saving... (24)
----- end saving... (24)
--- compile script to binary with command "export AS2JS_RC='/home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD' && /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tools/as2js -b -o /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tests/a.out /home/snapwebsites/snapcpp/contrib/as2js/tests/binary/boolean_operator_assignment.ajs".
--- run with return type: 1
warning:unknown-file:1::66: standalone expressions missing in user script; return value will be 0 (TODO: this message still occurs for statements that properly return a value, i.e. assignments, increments, etc.).
----- start flattening...
----- end flattening... (24)
----- start generating... (24)
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
  ++  0x60c000005390: LOGICAL_AND type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp2
  ++  0x60c0000052d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_and_x rhs: VARIABLE var:%temp2 result: VARIABLE var:%temp1
  ++  0x60c000005510: LOGICAL_AND type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:x result: VARIABLE var:%temp4
  ++  0x60c000005450: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_and_x rhs: VARIABLE var:%temp4 result: VARIABLE var:%temp3
  ++  0x60c000005690: LOGICAL_AND type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:y result: VARIABLE var:%temp6
  ++  0x60c0000055d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_and_y rhs: VARIABLE var:%temp6 result: VARIABLE var:%temp5
  ++  0x60c000005810: LOGICAL_OR type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp8
  ++  0x60c000005750: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_or_x rhs: VARIABLE var:%temp8 result: VARIABLE var:%temp7
  ++  0x60c000005990: LOGICAL_OR type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp10
  ++  0x60c0000058d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_or_y rhs: VARIABLE var:%temp10 result: VARIABLE var:%temp9
  ++  0x60c000005b10: LOGICAL_OR type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:x result: VARIABLE var:%temp12
  ++  0x60c000005a50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_or_x rhs: VARIABLE var:%temp12 result: VARIABLE var:%temp11
  ++  0x60c000005c90: LOGICAL_OR type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:y result: VARIABLE var:%temp14
  ++  0x60c000005bd0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_or_y rhs: VARIABLE var:%temp14 result: VARIABLE var:%temp13
  ++  0x60c000005e10: LOGICAL_XOR type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:x result: VARIABLE var:%temp16
  ++  0x60c000005d50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_xor_x rhs: VARIABLE var:%temp16 result: VARIABLE var:%temp15
  ++  0x60c000005f90: LOGICAL_XOR type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp18
  ++  0x60c000005ed0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_xor_y rhs: VARIABLE var:%temp18 result: VARIABLE var:%temp17
  ++  0x60c000006110: LOGICAL_XOR type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:x result: VARIABLE var:%temp20
  ++  0x60c000006050: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_xor_x rhs: VARIABLE var:%temp20 result: VARIABLE var:%temp19
  ++  0x60c000006290: LOGICAL_XOR type:Boolean lhs: VARIABLE var:y rhs: VARIABLE var:y result: VARIABLE var:%temp22
  ++  0x60c0000061d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_y_xor_y rhs: VARIABLE var:%temp22 result: VARIABLE var:%temp21
  ++  0x60c000006410: LOGICAL_AND type:Boolean lhs: VARIABLE var:x rhs: VARIABLE var:y result: VARIABLE var:%temp24
  ++  0x60c000006350: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_x_and_y rhs: VARIABLE var:%temp24 result: VARIABLE var:%result
----- end generating... (24)
----- start saving... (24)
----- end saving... (24)
--- compile script to binary with command "export AS2JS_RC='/home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD' && /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tools/as2js -b -o /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tests/a.out /home/snapwebsites/snapcpp/contrib/as2js/tests/binary/boolean_operator_logical.ajs".
--- run with return type: 1
SECTION: binary_string_operators: test binary operators for strings
warning:unknown-file:1::66: standalone expressions missing in user script; return value will be 0 (TODO: this message still occurs for statements that properly return a value, i.e. assignments, increments, etc.).
----- start flattening...
----- end flattening... (32)
----- start generating... (32)
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
  ++  0x60c000005390: MULTIPLY type:String lhs: VARIABLE var:sx rhs: VARIABLE var:m result: VARIABLE var:%temp2
  ++  0x60c0000052d0: ASSIGNMENT type:String lhs: VARIABLE var:r_sx_times_m rhs: VARIABLE var:%temp2 result: VARIABLE var:%temp1
  ++  0x60c000005510: MULTIPLY type:String lhs: VARIABLE var:sx rhs: INTEGER int:0 result: VARIABLE var:%temp4
  ++  0x60c000005450: ASSIGNMENT type:String lhs: VARIABLE var:r_sx_times_zero rhs: VARIABLE var:%temp4 result: VARIABLE var:%temp3
  ++  0x60c000005690: MULTIPLY type:String lhs: VARIABLE var:sx rhs: INTEGER int:1 result: VARIABLE var:%temp6
  ++  0x60c0000055d0: ASSIGNMENT type:String lhs: VARIABLE var:r_sx_times_one rhs: VARIABLE var:%temp6 result: VARIABLE var:%temp5
  ++  0x60c000005810: MULTIPLY type:String lhs: VARIABLE var:sy rhs: VARIABLE var:n result: VARIABLE var:%temp8
  ++  0x60c000005750: ASSIGNMENT type:String lhs: VARIABLE var:r_sy_times_n rhs: VARIABLE var:%temp8 result: VARIABLE var:%temp7
  ++  0x60c000005990: MULTIPLY type:String lhs: VARIABLE var:sy rhs: VARIABLE var:m result: VARIABLE var:%temp10
  ++  0x60c0000058d0: ASSIGNMENT type:String lhs: VARIABLE var:r_sy_times_m rhs: VARIABLE var:%temp10 result: VARIABLE var:%temp9
  ++  0x60c000005b10: MULTIPLY type:String lhs: VARIABLE var:sy rhs: INTEGER int:0 result: VARIABLE var:%temp12
  ++  0x60c000005a50: ASSIGNMENT type:String lhs: VARIABLE var:r_sy_times_zero rhs: VARIABLE var:%temp12 result: VARIABLE var:%temp11
  ++  0x60c000005c90: MULTIPLY type:String lhs: VARIABLE var:sy rhs: INTEGER int:1 result: VARIABLE var:%temp14
  ++  0x60c000005bd0: ASSIGNMENT type:String lhs: VARIABLE var:r_sy_times_one rhs: VARIABLE var:%temp14 result: VARIABLE var:%temp13
  ++  0x60c000005e10: MULTIPLY type:String lhs: VARIABLE var:sz rhs: VARIABLE var:n result: VARIABLE var:%temp16
  ++  0x60c000005d50: ASSIGNMENT type:String lhs: VARIABLE var:r_sz_times_n rhs: VARIABLE var:%temp16 result: VARIABLE var:%temp15
  ++  0x60c000005f90: MULTIPLY type:String lhs: VARIABLE var:sz rhs: VARIABLE var:m result: VARIABLE var:%temp18
  ++  0x60c000005ed0: ASSIGNMENT type:String lhs: VARIABLE var:r_sz_times_m rhs: VARIABLE var:%temp18 result: VARIABLE var:%temp17
  ++  0x60c000006110: MULTIPLY type:String lhs: VARIABLE var:sz rhs: INTEGER int:0 result: VARIABLE var:%temp20
  ++  0x60c000006050: ASSIGNMENT type:String lhs: VARIABLE var:r_sz_times_zero rhs: VARIABLE var:%temp20 result: VARIABLE var:%temp19
  ++  0x60c000006290: MULTIPLY type:String lhs: VARIABLE var:sz rhs: INTEGER int:1 result: VARIABLE var:%temp22
  ++  0x60c0000061d0: ASSIGNMENT type:String lhs: VARIABLE var:r_sz_times_one rhs: VARIABLE var:%temp22 result: VARIABLE var:%temp21
  ++  0x60c000006410: MULTIPLY type:String lhs: VARIABLE var:sw rhs: VARIABLE var:n result: VARIABLE var:%temp24
  ++  0x60c000006350: ASSIGNMENT type:String lhs: VARIABLE var:r_sw_times_n rhs: VARIABLE var:%temp24 result: VARIABLE var:%temp23
  ++  0x60c000006590: MULTIPLY type:String lhs: VARIABLE var:sw rhs: VARIABLE var:m result: VARIABLE var:%temp26
  ++  0x60c0000064d0: ASSIGNMENT type:String lhs: VARIABLE var:r_sw_times_m rhs: VARIABLE var:%temp26 result: VARIABLE var:%temp25
  ++  0x60c000006710: MULTIPLY type:String lhs: VARIABLE var:sw rhs: INTEGER int:0 result: VARIABLE var:%temp28
  ++  0x60c000006650: ASSIGNMENT type:String lhs: VARIABLE var:r_sw_times_zero rhs: VARIABLE var:%temp28 result: VARIABLE var:%temp27
  ++  0x60c000006890: MULTIPLY type:String lhs: VARIABLE var:sw rhs: INTEGER int:1 result: VARIABLE var:%temp30
  ++  0x60c0000067d0: ASSIGNMENT type:String lhs: VARIABLE var:r_sw_times_one rhs: VARIABLE var:%temp30 result: VARIABLE var:%temp29
  ++  0x60c000006a10: MULTIPLY type:String lhs: VARIABLE var:sx rhs: VARIABLE var:n result: VARIABLE var:%temp32
  ++  0x60c000006950: ASSIGNMENT type:String lhs: VARIABLE var:r_sx_times_n rhs: VARIABLE var:%temp32 result: VARIABLE var:%result
----- end generating... (32)
----- start saving... (32)
----- end saving... (32)
--- compile script to binary with command "export AS2JS_RC='/home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD' && /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tools/as2js -b -o /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tests/a.out /home/snapwebsites/snapcpp/contrib/as2js/tests/binary/string_operator_multiplicative.ajs".
--- run with return type: 4
warning:unknown-file:1::66: standalone expressions missing in user script; return value will be 0 (TODO: this message still occurs for statements that properly return a value, i.e. assignments, increments, etc.).
----- start flattening...
----- end flattening... (27)
----- start generating... (27)
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
  ++  0x60c000005390: MAXIMUM type:String lhs: VARIABLE var:sx rhs: VARIABLE var:sy result: VARIABLE var:%temp2
  ++  0x60c0000052d0: ASSIGNMENT type:String lhs: VARIABLE var:r_maximum rhs: VARIABLE var:%temp2 result: VARIABLE var:%temp1
  ++  0x60c0000055d0: BITWISE_NOT type:String lhs: VARIABLE var:sx result: VARIABLE var:%temp5
  ++  0x60c000005690: BITWISE_NOT type:String lhs: VARIABLE var:sy result: VARIABLE var:%temp6
  ++  0x60c000005510: MINIMUM type:String lhs: VARIABLE var:%temp5 rhs: VARIABLE var:%temp6 result: VARIABLE var:%temp4
  ++  0x60c000005450: ASSIGNMENT type:String lhs: VARIABLE var:r_minimum_flipped rhs: VARIABLE var:%temp4 result: VARIABLE var:%temp3
  ++  0x60c0000058d0: BITWISE_NOT type:String lhs: VARIABLE var:sx result: VARIABLE var:%temp9
  ++  0x60c000005990: BITWISE_NOT type:String lhs: VARIABLE var:sy result: VARIABLE var:%temp10
  ++  0x60c000005810: MAXIMUM type:String lhs: VARIABLE var:%temp9 rhs: VARIABLE var:%temp10 result: VARIABLE var:%temp8
  ++  0x60c000005750: ASSIGNMENT type:String lhs: VARIABLE var:r_maximum_flipped rhs: VARIABLE var:%temp8 result: VARIABLE var:%temp7
  ++  0x60c000005c90: IF_FALSE label:.L2 lhs: VARIABLE var:z
  ++  0x60c000005b10: ASSIGNMENT type:String lhs: VARIABLE var:sx result: VARIABLE var:%temp12
  ++  0x60c000005d50: GOTO label:.L1
  ++  0x60c000005e10: LABEL label:.L2
  ++  0x60c000005bd0: ASSIGNMENT type:String lhs: VARIABLE var:sy result: VARIABLE var:%temp12
  ++  0x60c000005ed0: LABEL label:.L1
  ++  0x60c000005a50: ASSIGNMENT type:String lhs: VARIABLE var:r_select rhs: VARIABLE var:%temp12 result: VARIABLE var:%temp11
  ++  0x60c000006290: LOGICAL_NOT type:Boolean lhs: VARIABLE var:z result: VARIABLE var:%temp15
  ++  0x60c0000061d0: IF_FALSE label:.L4 lhs: VARIABLE var:%temp15
  ++  0x60c000006050: ASSIGNMENT type:String lhs: VARIABLE var:sx result: VARIABLE var:%temp14
  ++  0x60c000006350: GOTO label:.L3
  ++  0x60c000006410: LABEL label:.L4
  ++  0x60c000006110: ASSIGNMENT type:String lhs: VARIABLE var:sy result: VARIABLE var:%temp14
  ++  0x60c0000064d0: LABEL label:.L3
  ++  0x60c000005f90: ASSIGNMENT type:String lhs: VARIABLE var:r_select_not rhs: VARIABLE var:%temp14 result: VARIABLE var:%temp13
  ++  0x60c000006650: MINIMUM type:String lhs: VARIABLE var:sx rhs: VARIABLE var:sy result: VARIABLE var:%temp17
  ++  0x60c000006590: ASSIGNMENT type:String lhs: VARIABLE var:r_minimum rhs: VARIABLE var:%temp17 result: VARIABLE var:%result
----- end generating... (27)
----- start saving... (27)
----- end saving... (27)
--- compile script to binary with command "export AS2JS_RC='/home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD' && /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tools/as2js -b -o /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tests/a.out /home/snapwebsites/snapcpp/contrib/as2js/tests/binary/string_operator_conditional.ajs".
--- run with return type: 4
warning:unknown-file:1::66: standalone expressions missing in user script; return value will be 0 (TODO: this message still occurs for statements that properly return a value, i.e. assignments, increments, etc.).
----- start flattening...
----- end flattening... (6)
----- start generating... (6)
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
  ++  0x60c000005390: BITWISE_NOT type:String lhs: VARIABLE var:sy result: VARIABLE var:%temp2
  ++  0x60c0000052d0: ASSIGNMENT type:String lhs: VARIABLE var:r_flipped_sy rhs: VARIABLE var:%temp2 result: VARIABLE var:%temp1
  ++  0x60c000005510: BITWISE_NOT type:String lhs: VARIABLE var:sz result: VARIABLE var:%temp4
  ++  0x60c000005450: ASSIGNMENT type:String lhs: VARIABLE var:r_flipped_sz rhs: VARIABLE var:%temp4 result: VARIABLE var:%temp3
  ++  0x60c000005690: BITWISE_NOT type:String lhs: VARIABLE var:sx result: VARIABLE var:%temp6
  ++  0x60c0000055d0: ASSIGNMENT type:String lhs: VARIABLE var:r_flipped_sx rhs: VARIABLE var:%temp6 result: VARIABLE var:%result
----- end generating... (6)
----- start saving... (6)
----- end saving... (6)
--- compile script to binary with command "export AS2JS_RC='/home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD' && /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tools/as2js -b -o /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tests/a.out /home/snapwebsites/snapcpp/contrib/as2js/tests/binary/string_operator_case.ajs".
--- run with return type: 4
warning:unknown-file:1::66: standalone expressions missing in user script; return value will be 0 (TODO: this message still occurs for statements that properly return a value, i.e. assignments, increments, etc.).
----- start flattening...
----- end flattening... (22)
----- start generating... (22)
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
  ++  0x60c000005390: IDENTITY (ADD) type:String lhs: VARIABLE var:sx result: VARIABLE var:%temp2
  ++  0x60c0000052d0: ASSIGNMENT type:String lhs: VARIABLE var:r_identity rhs: VARIABLE var:%temp2 result: VARIABLE var:%temp1
  ++  0x60c000005510: ADD type:String lhs: VARIABLE var:sx rhs: STRING str:post result: VARIABLE var:%temp4
  ++  0x60c000005450: ASSIGNMENT type:String lhs: VARIABLE var:r_add_sx_imm rhs: VARIABLE var:%temp4 result: VARIABLE var:%temp3
  ++  0x60c000005690: ADD type:String lhs: STRING str:pre rhs: VARIABLE var:sy result: VARIABLE var:%temp6
  ++  0x60c0000055d0: ASSIGNMENT type:String lhs: VARIABLE var:r_add_imm_sy rhs: VARIABLE var:%temp6 result: VARIABLE var:%temp5
  ++  0x60c000005810: ADD type:String lhs: VARIABLE var:sx rhs: STRING str:very long post result: VARIABLE var:%temp8
  ++  0x60c000005750: ASSIGNMENT type:String lhs: VARIABLE var:r_add_sx_long_imm rhs: VARIABLE var:%temp8 result: VARIABLE var:%temp7
  ++  0x60c000005990: ADD type:String lhs: STRING str:very long pre rhs: VARIABLE var:sy result: VARIABLE var:%temp10
  ++  0x60c0000058d0: ASSIGNMENT type:String lhs: VARIABLE var:r_add_long_imm_sy rhs: VARIABLE var:%temp10 result: VARIABLE var:%temp9
  ++  0x60c000005b10: SUBTRACT type:String lhs: VARIABLE var:sx rhs: VARIABLE var:sx result: VARIABLE var:%temp12
  ++  0x60c000005a50: ASSIGNMENT type:String lhs: VARIABLE var:r_subtract_sx_sx rhs: VARIABLE var:%temp12 result: VARIABLE var:%temp11
  ++  0x60c000005c90: SUBTRACT type:String lhs: VARIABLE var:r_add_sx_imm rhs: STRING str:post result: VARIABLE var:%temp14
  ++  0x60c000005bd0: ASSIGNMENT type:String lhs: VARIABLE var:r_subtract_sx_imm rhs: VARIABLE var:%temp14 result: VARIABLE var:%temp13
  ++  0x60c000005e10: SUBTRACT type:String lhs: VARIABLE var:r_add_imm_sy rhs: STRING str:pre result: VARIABLE var:%temp16
  ++  0x60c000005d50: ASSIGNMENT type:String lhs: VARIABLE var:r_subtract_imm_sy rhs: VARIABLE var:%temp16 result: VARIABLE var:%temp15
  ++  0x60c000005f90: SUBTRACT type:String lhs: VARIABLE var:r_add_sx_long_imm rhs: STRING str:post result: VARIABLE var:%temp18
  ++  0x60c000005ed0: ASSIGNMENT type:String lhs: VARIABLE var:r_subtract_sx_long_imm rhs: VARIABLE var:%temp18 result: VARIABLE var:%temp17
  ++  0x60c000006110: SUBTRACT type:String lhs: VARIABLE var:r_add_long_imm_sy rhs: STRING str:pre result: VARIABLE var:%temp20
  ++  0x60c000006050: ASSIGNMENT type:String lhs: VARIABLE var:r_subtract_long_imm_sy rhs: VARIABLE var:%temp20 result: VARIABLE var:%temp19
  ++  0x60c000006290: ADD type:String lhs: VARIABLE var:sx rhs: VARIABLE var:sy result: VARIABLE var:%temp22
  ++  0x60c0000061d0: ASSIGNMENT type:String lhs: VARIABLE var:r_add rhs: VARIABLE var:%temp22 result: VARIABLE var:%result
----- end generating... (22)
----- start saving... (22)
----- end saving... (22)
--- compile script to binary with command "export AS2JS_RC='/home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD' && /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tools/as2js -b -o /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tests/a.out /home/snapwebsites/snapcpp/contrib/as2js/tests/binary/string_operator_additive.ajs".
--- run with return type: 4
warning:unknown-file:1::66: standalone expressions missing in user script; return value will be 0 (TODO: this message still occurs for statements that properly return a value, i.e. assignments, increments, etc.).
----- start flattening...
----- end flattening... (40)
----- start generating... (40)
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
--- type of var is CLASS and name [String]
  ++  0x60c000005390: SHIFT_LEFT type:String lhs: VARIABLE var:sy rhs: VARIABLE var:z result: VARIABLE var:%temp2
  ++  0x60c0000052d0: ASSIGNMENT type:String lhs: VARIABLE var:r_shift_left_sy_by_z rhs: VARIABLE var:%temp2 result: VARIABLE var:%temp1
  ++  0x60c000005510: SHIFT_LEFT type:String lhs: VARIABLE var:sx rhs: VARIABLE var:w result: VARIABLE var:%temp4
  ++  0x60c000005450: ASSIGNMENT type:String lhs: VARIABLE var:r_shift_left_sx_by_w rhs: VARIABLE var:%temp4 result: VARIABLE var:%temp3
  ++  0x60c000005690: SHIFT_LEFT type:String lhs: VARIABLE var:sy rhs: VARIABLE var:w result: VARIABLE var:%temp6
  ++  0x60c0000055d0: ASSIGNMENT type:String lhs: VARIABLE var:r_shift_left_sy_by_w rhs: VARIABLE var:%temp6 result: VARIABLE var:%temp5
  ++  0x60c000005810: SHIFT_RIGHT type:String lhs: VARIABLE var:sx rhs: VARIABLE var:z result: VARIABLE var:%temp8
  ++  0x60c000005750: ASSIGNMENT type:String lhs: VARIABLE var:r_shift_right_sx_by_z rhs: VARIABLE var:%temp8 result: VARIABLE var:%temp7
  ++  0x60c000005990: SHIFT_RIGHT type:String lhs: VARIABLE var:sy rhs: VARIABLE var:z result: VARIABLE var:%temp10
  ++  0x60c0000058d0: ASSIGNMENT type:String lhs: VARIABLE var:r_shift_right_sy_by_z rhs: VARIABLE var:%temp10 result: VARIABLE var:%temp9
  ++  0x60c000005b10: SHIFT_RIGHT type:String lhs: VARIABLE var:sx rhs: VARIABLE var:w result: VARIABLE var:%temp12
  ++  0x60c000005a50: ASSIGNMENT type:String lhs: VARIABLE var:r_shift_right_sx_by_w rhs: VARIABLE var:%temp12 result: VARIABLE var:%temp11
  ++  0x60c000005c90: SHIFT_RIGHT type:String lhs: VARIABLE var:sy rhs: VARIABLE var:w result: VARIABLE var:%temp14
  ++  0x60c000005bd0: ASSIGNMENT type:String lhs: VARIABLE var:r_shift_right_sy_by_w rhs: VARIABLE var:%temp14 result: VARIABLE var:%temp13
  ++  0x60c000005e10: SHIFT_RIGHT_UNSIGNED type:String lhs: VARIABLE var:sx rhs: VARIABLE var:z result: VARIABLE var:%temp16
  ++  0x60c000005d50: ASSIGNMENT type:String lhs: VARIABLE var:r_shift_right_unsigned_sx_by_z rhs: VARIABLE var:%temp16 result: VARIABLE var:%temp15
  ++  0x60c000005f90: SHIFT_RIGHT_UNSIGNED type:String lhs: VARIABLE var:sy rhs: VARIABLE var:z result: VARIABLE var:%temp18
  ++  0x60c000005ed0: ASSIGNMENT type:String lhs: VARIABLE var:r_shift_right_unsigned_sy_by_z rhs: VARIABLE var:%temp18 result: VARIABLE var:%temp17
  ++  0x60c000006110: SHIFT_RIGHT_UNSIGNED type:String lhs: VARIABLE var:sx rhs: VARIABLE var:w result: VARIABLE var:%temp20
  ++  0x60c000006050: ASSIGNMENT type:String lhs: VARIABLE var:r_shift_right_unsigned_sx_by_w rhs: VARIABLE var:%temp20 result: VARIABLE var:%temp19
  ++  0x60c000006290: SHIFT_RIGHT_UNSIGNED type:String lhs: VARIABLE var:sy rhs: VARIABLE var:w result: VARIABLE var:%temp22
  ++  0x60c0000061d0: ASSIGNMENT type:String lhs: VARIABLE var:r_shift_right_unsigned_sy_by_w rhs: VARIABLE var:%temp22 result: VARIABLE var:%temp21
  ++  0x60c000006410: ROTATE_LEFT type:String lhs: VARIABLE var:sx rhs: VARIABLE var:z result: VARIABLE var:%temp24
  ++  0x60c000006350: ASSIGNMENT type:String lhs: VARIABLE var:r_rotate_left_sx_by_z rhs: VARIABLE var:%temp24 result: VARIABLE var:%temp23
  ++  0x60c000006590: ROTATE_LEFT type:String lhs: VARIABLE var:sy rhs: VARIABLE var:z result: VARIABLE var:%temp26
  ++  0x60c0000064d0: ASSIGNMENT type:String lhs: VARIABLE var:r_rotate_left_sy_by_z rhs: VARIABLE var:%temp26 result: VARIABLE var:%temp25
  ++  0x60c000006710: ROTATE_LEFT type:String lhs: VARIABLE var:sx rhs: VARIABLE var:w result: VARIABLE var:%temp28
  ++  0x60c000006650: ASSIGNMENT type:String lhs: VARIABLE var:r_rotate_left_sx_by_w rhs: VARIABLE var:%temp28 result: VARIABLE var:%temp27
  ++  0x60c000006890: ROTATE_LEFT type:String lhs: VARIABLE var:sy rhs: VARIABLE var:w result: VARIABLE var:%temp30
  ++  0x60c0000067d0: ASSIGNMENT type:String lhs: VARIABLE var:r_rotate_left_sy_by_w rhs: VARIABLE var:%temp30 result: VARIABLE var:%temp29
  ++  0x60c000006a10: ROTATE_RIGHT type:String lhs: VARIABLE var:sx rhs: VARIABLE var:z result: VARIABLE var:%temp32
  ++  0x60c000006950: ASSIGNMENT type:String lhs: VARIABLE var:r_rotate_right_sx_by_z rhs: VARIABLE var:%temp32 result: VARIABLE var:%temp31
  ++  0x60c000006b90: ROTATE_RIGHT type:String lhs: VARIABLE var:sy rhs: VARIABLE var:z result: VARIABLE var:%temp34
  ++  0x60c000006ad0: ASSIGNMENT type:String lhs: VARIABLE var:r_rotate_right_sy_by_z rhs: VARIABLE var:%temp34 result: VARIABLE var:%temp33
  ++  0x60c000006d10: ROTATE_RIGHT type:String lhs: VARIABLE var:sx rhs: VARIABLE var:w result: VARIABLE var:%temp36
  ++  0x60c000006c50: ASSIGNMENT type:String lhs: VARIABLE var:r_rotate_right_sx_by_w rhs: VARIABLE var:%temp36 result: VARIABLE var:%temp35
  ++  0x60c000006e90: ROTATE_RIGHT type:String lhs: VARIABLE var:sy rhs: VARIABLE var:w result: VARIABLE var:%temp38
  ++  0x60c000006dd0: ASSIGNMENT type:String lhs: VARIABLE var:r_rotate_right_sy_by_w rhs: VARIABLE var:%temp38 result: VARIABLE var:%temp37
  ++  0x60c000007010: SHIFT_LEFT type:String lhs: VARIABLE var:sx rhs: VARIABLE var:z result: VARIABLE var:%temp40
  ++  0x60c000006f50: ASSIGNMENT type:String lhs: VARIABLE var:r_shift_left_sx_by_z rhs: VARIABLE var:%temp40 result: VARIABLE var:%result
----- end generating... (40)
----- start saving... (40)
----- end saving... (40)
--- compile script to binary with command "export AS2JS_RC='/home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD' && /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tools/as2js -b -o /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tests/a.out /home/snapwebsites/snapcpp/contrib/as2js/tests/binary/string_operator_shift.ajs".
--- run with return type: 4
warning:unknown-file:1::66: standalone expressions missing in user script; return value will be 0 (TODO: this message still occurs for statements that properly return a value, i.e. assignments, increments, etc.).
----- start flattening...
----- end flattening... (96)
----- start generating... (96)
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Integer]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Boolean]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
--- type of var is CLASS and name [Boolean]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Integer]
--- type of var is ENUM and name [CompareResult]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
--- type of var is CLASS and name [Boolean]
  ++  0x60c000005390: EQUAL type:Boolean lhs: VARIABLE var:sx rhs: VARIABLE var:sx result: VARIABLE var:%temp2
  ++  0x60c0000052d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sx_equal_sx rhs: VARIABLE var:%temp2 result: VARIABLE var:%temp1
  ++  0x60c000005510: EQUAL type:Boolean lhs: VARIABLE var:sx rhs: VARIABLE var:sz result: VARIABLE var:%temp4
  ++  0x60c000005450: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sx_equal_sz rhs: VARIABLE var:%temp4 result: VARIABLE var:%temp3
  ++  0x60c000005690: EQUAL type:Boolean lhs: VARIABLE var:sy rhs: VARIABLE var:sz result: VARIABLE var:%temp6
  ++  0x60c0000055d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sy_equal_sz rhs: VARIABLE var:%temp6 result: VARIABLE var:%temp5
  ++  0x60c000005810: STRICTLY_EQUAL type:Boolean lhs: VARIABLE var:sx rhs: VARIABLE var:sx result: VARIABLE var:%temp8
  ++  0x60c000005750: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sx_strictly_equal_sx rhs: VARIABLE var:%temp8 result: VARIABLE var:%temp7
  ++  0x60c000005990: STRICTLY_EQUAL type:Boolean lhs: VARIABLE var:sx rhs: VARIABLE var:sy result: VARIABLE var:%temp10
  ++  0x60c0000058d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sx_strictly_equal_sy rhs: VARIABLE var:%temp10 result: VARIABLE var:%temp9
  ++  0x60c000005b10: STRICTLY_EQUAL type:Boolean lhs: VARIABLE var:sx rhs: VARIABLE var:sz result: VARIABLE var:%temp12
  ++  0x60c000005a50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sx_strictly_equal_sz rhs: VARIABLE var:%temp12 result: VARIABLE var:%temp11
  ++  0x60c000005c90: STRICTLY_EQUAL type:Boolean lhs: VARIABLE var:sy rhs: VARIABLE var:sz result: VARIABLE var:%temp14
  ++  0x60c000005bd0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sy_strictly_equal_sz rhs: VARIABLE var:%temp14 result: VARIABLE var:%temp13
  ++  0x60c000005e10: NOT_EQUAL type:Boolean lhs: VARIABLE var:sx rhs: VARIABLE var:sx result: VARIABLE var:%temp16
  ++  0x60c000005d50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sx_not_equal_sx rhs: VARIABLE var:%temp16 result: VARIABLE var:%temp15
  ++  0x60c000005f90: NOT_EQUAL type:Boolean lhs: VARIABLE var:sx rhs: VARIABLE var:sy result: VARIABLE var:%temp18
  ++  0x60c000005ed0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sx_not_equal_sy rhs: VARIABLE var:%temp18 result: VARIABLE var:%temp17
  ++  0x60c000006110: NOT_EQUAL type:Boolean lhs: VARIABLE var:sx rhs: VARIABLE var:sz result: VARIABLE var:%temp20
  ++  0x60c000006050: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sx_not_equal_sz rhs: VARIABLE var:%temp20 result: VARIABLE var:%temp19
  ++  0x60c000006290: NOT_EQUAL type:Boolean lhs: VARIABLE var:sy rhs: VARIABLE var:sz result: VARIABLE var:%temp22
  ++  0x60c0000061d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sy_not_equal_sz rhs: VARIABLE var:%temp22 result: VARIABLE var:%temp21
  ++  0x60c000006410: STRICTLY_NOT_EQUAL type:Boolean lhs: VARIABLE var:sx rhs: VARIABLE var:sx result: VARIABLE var:%temp24
  ++  0x60c000006350: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sx_strictly_not_equal_sx rhs: VARIABLE var:%temp24 result: VARIABLE var:%temp23
  ++  0x60c000006590: STRICTLY_NOT_EQUAL type:Boolean lhs: VARIABLE var:sx rhs: VARIABLE var:sy result: VARIABLE var:%temp26
  ++  0x60c0000064d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sx_strictly_not_equal_sy rhs: VARIABLE var:%temp26 result: VARIABLE var:%temp25
  ++  0x60c000006710: STRICTLY_NOT_EQUAL type:Boolean lhs: VARIABLE var:sx rhs: VARIABLE var:sz result: VARIABLE var:%temp28
  ++  0x60c000006650: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sx_strictly_not_equal_sz rhs: VARIABLE var:%temp28 result: VARIABLE var:%temp27
  ++  0x60c000006890: STRICTLY_NOT_EQUAL type:Boolean lhs: VARIABLE var:sy rhs: VARIABLE var:sz result: VARIABLE var:%temp30
  ++  0x60c0000067d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sy_strictly_not_equal_sz rhs: VARIABLE var:%temp30 result: VARIABLE var:%temp29
  ++  0x60c000006a10: LESS type:Boolean lhs: VARIABLE var:sx rhs: VARIABLE var:sx result: VARIABLE var:%temp32
  ++  0x60c000006950: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sx_less_sx rhs: VARIABLE var:%temp32 result: VARIABLE var:%temp31
  ++  0x60c000006b90: LESS type:Boolean lhs: VARIABLE var:sx rhs: VARIABLE var:sy result: VARIABLE var:%temp34
  ++  0x60c000006ad0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sx_less_sy rhs: VARIABLE var:%temp34 result: VARIABLE var:%temp33
  ++  0x60c000006d10: LESS type:Boolean lhs: VARIABLE var:sx rhs: VARIABLE var:sz result: VARIABLE var:%temp36
  ++  0x60c000006c50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sx_less_sz rhs: VARIABLE var:%temp36 result: VARIABLE var:%temp35
  ++  0x60c000006e90: LESS type:Boolean lhs: VARIABLE var:sy rhs: VARIABLE var:sz result: VARIABLE var:%temp38
  ++  0x60c000006dd0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sy_less_sz rhs: VARIABLE var:%temp38 result: VARIABLE var:%temp37
  ++  0x60c000007010: LESS_EQUAL type:Boolean lhs: VARIABLE var:sx rhs: VARIABLE var:sx result: VARIABLE var:%temp40
  ++  0x60c000006f50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sx_less_equal_sx rhs: VARIABLE var:%temp40 result: VARIABLE var:%temp39
  ++  0x60c000007190: LESS_EQUAL type:Boolean lhs: VARIABLE var:sx rhs: VARIABLE var:sy result: VARIABLE var:%temp42
  ++  0x60c0000070d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sx_less_equal_sy rhs: VARIABLE var:%temp42 result: VARIABLE var:%temp41
  ++  0x60c000007310: LESS_EQUAL type:Boolean lhs: VARIABLE var:sx rhs: VARIABLE var:sz result: VARIABLE var:%temp44
  ++  0x60c000007250: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sx_less_equal_sz rhs: VARIABLE var:%temp44 result: VARIABLE var:%temp43
  ++  0x60c000007490: LESS_EQUAL type:Boolean lhs: VARIABLE var:sy rhs: VARIABLE var:sz result: VARIABLE var:%temp46
  ++  0x60c0000073d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sy_less_equal_sz rhs: VARIABLE var:%temp46 result: VARIABLE var:%temp45
  ++  0x60c000007610: GREATER type:Boolean lhs: VARIABLE var:sx rhs: VARIABLE var:sx result: VARIABLE var:%temp48
  ++  0x60c000007550: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sx_greater_sx rhs: VARIABLE var:%temp48 result: VARIABLE var:%temp47
  ++  0x60c000007790: GREATER type:Boolean lhs: VARIABLE var:sx rhs: VARIABLE var:sy result: VARIABLE var:%temp50
  ++  0x60c0000076d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sx_greater_sy rhs: VARIABLE var:%temp50 result: VARIABLE var:%temp49
  ++  0x60c000007910: GREATER type:Boolean lhs: VARIABLE var:sx rhs: VARIABLE var:sz result: VARIABLE var:%temp52
  ++  0x60c000007850: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sx_greater_sz rhs: VARIABLE var:%temp52 result: VARIABLE var:%temp51
  ++  0x60c000007a90: GREATER type:Boolean lhs: VARIABLE var:sy rhs: VARIABLE var:sz result: VARIABLE var:%temp54
  ++  0x60c0000079d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sy_greater_sz rhs: VARIABLE var:%temp54 result: VARIABLE var:%temp53
  ++  0x60c000007c10: GREATER_EQUAL type:Boolean lhs: VARIABLE var:sx rhs: VARIABLE var:sx result: VARIABLE var:%temp56
  ++  0x60c000007b50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sx_greater_equal_sx rhs: VARIABLE var:%temp56 result: VARIABLE var:%temp55
  ++  0x60c000007d90: GREATER_EQUAL type:Boolean lhs: VARIABLE var:sx rhs: VARIABLE var:sy result: VARIABLE var:%temp58
  ++  0x60c000007cd0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sx_greater_equal_sy rhs: VARIABLE var:%temp58 result: VARIABLE var:%temp57
  ++  0x60c000007f10: GREATER_EQUAL type:Boolean lhs: VARIABLE var:sx rhs: VARIABLE var:sz result: VARIABLE var:%temp60
  ++  0x60c000007e50: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sx_greater_equal_sz rhs: VARIABLE var:%temp60 result: VARIABLE var:%temp59
  ++  0x60c000008090: GREATER_EQUAL type:Boolean lhs: VARIABLE var:sy rhs: VARIABLE var:sz result: VARIABLE var:%temp62
  ++  0x60c000007fd0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sy_greater_equal_sz rhs: VARIABLE var:%temp62 result: VARIABLE var:%temp61
  ++  0x60c000008210: COMPARE lhs: VARIABLE var:sx rhs: VARIABLE var:sx result: VARIABLE var:%temp64
  ++  0x60c000008150: ASSIGNMENT type:Integer lhs: VARIABLE var:r_sx_compare_sx rhs: VARIABLE var:%temp64 result: VARIABLE var:%temp63
  ++  0x60c000008390: COMPARE lhs: VARIABLE var:sx rhs: VARIABLE var:sy result: VARIABLE var:%temp66
  ++  0x60c0000082d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_sx_compare_sy rhs: VARIABLE var:%temp66 result: VARIABLE var:%temp65
  ++  0x60c000008510: COMPARE lhs: VARIABLE var:sx rhs: VARIABLE var:sz result: VARIABLE var:%temp68
  ++  0x60c000008450: ASSIGNMENT type:Integer lhs: VARIABLE var:r_sx_compare_sz rhs: VARIABLE var:%temp68 result: VARIABLE var:%temp67
  ++  0x60c000008690: COMPARE lhs: VARIABLE var:sx rhs: VARIABLE var:sw result: VARIABLE var:%temp70
  ++  0x60c0000085d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_sx_compare_sw rhs: VARIABLE var:%temp70 result: VARIABLE var:%temp69
  ++  0x60c000008810: COMPARE lhs: VARIABLE var:sy rhs: VARIABLE var:sx result: VARIABLE var:%temp72
  ++  0x60c000008750: ASSIGNMENT type:Integer lhs: VARIABLE var:r_sy_compare_sx rhs: VARIABLE var:%temp72 result: VARIABLE var:%temp71
  ++  0x60c000008990: COMPARE lhs: VARIABLE var:sy rhs: VARIABLE var:sy result: VARIABLE var:%temp74
  ++  0x60c0000088d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_sy_compare_sy rhs: VARIABLE var:%temp74 result: VARIABLE var:%temp73
  ++  0x60c000008b10: COMPARE lhs: VARIABLE var:sy rhs: VARIABLE var:sz result: VARIABLE var:%temp76
  ++  0x60c000008a50: ASSIGNMENT type:Integer lhs: VARIABLE var:r_sy_compare_sz rhs: VARIABLE var:%temp76 result: VARIABLE var:%temp75
  ++  0x60c000008c90: COMPARE lhs: VARIABLE var:sy rhs: VARIABLE var:sw result: VARIABLE var:%temp78
  ++  0x60c000008bd0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_sy_compare_sw rhs: VARIABLE var:%temp78 result: VARIABLE var:%temp77
  ++  0x60c000008e10: COMPARE lhs: VARIABLE var:sz rhs: VARIABLE var:sx result: VARIABLE var:%temp80
  ++  0x60c000008d50: ASSIGNMENT type:Integer lhs: VARIABLE var:r_sz_compare_sx rhs: VARIABLE var:%temp80 result: VARIABLE var:%temp79
  ++  0x60c000008f90: COMPARE lhs: VARIABLE var:sz rhs: VARIABLE var:sy result: VARIABLE var:%temp82
  ++  0x60c000008ed0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_sz_compare_sy rhs: VARIABLE var:%temp82 result: VARIABLE var:%temp81
  ++  0x60c000009110: COMPARE lhs: VARIABLE var:sz rhs: VARIABLE var:sz result: VARIABLE var:%temp84
  ++  0x60c000009050: ASSIGNMENT type:Integer lhs: VARIABLE var:r_sz_compare_sz rhs: VARIABLE var:%temp84 result: VARIABLE var:%temp83
  ++  0x60c000009290: COMPARE lhs: VARIABLE var:sz rhs: VARIABLE var:sw result: VARIABLE var:%temp86
  ++  0x60c0000091d0: ASSIGNMENT type:Integer lhs: VARIABLE var:r_sz_compare_sw rhs: VARIABLE var:%temp86 result: VARIABLE var:%temp85
  ++  0x60c000009410: LOGICAL_NOT type:Boolean lhs: VARIABLE var:sx result: VARIABLE var:%temp88
  ++  0x60c000009350: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_not_sx rhs: VARIABLE var:%temp88 result: VARIABLE var:%temp87
  ++  0x60c000009590: LOGICAL_NOT type:Boolean lhs: VARIABLE var:sy result: VARIABLE var:%temp90
  ++  0x60c0000094d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_not_sy rhs: VARIABLE var:%temp90 result: VARIABLE var:%temp89
  ++  0x60c000009710: LOGICAL_NOT type:Boolean lhs: VARIABLE var:sz result: VARIABLE var:%temp92
  ++  0x60c000009650: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_not_sz rhs: VARIABLE var:%temp92 result: VARIABLE var:%temp91
  ++  0x60c000009890: LOGICAL_NOT type:Boolean lhs: VARIABLE var:sw result: VARIABLE var:%temp94
  ++  0x60c0000097d0: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_not_sw rhs: VARIABLE var:%temp94 result: VARIABLE var:%temp93
  ++  0x60c000009a10: EQUAL type:Boolean lhs: VARIABLE var:sx rhs: VARIABLE var:sy result: VARIABLE var:%temp96
  ++  0x60c000009950: ASSIGNMENT type:Boolean lhs: VARIABLE var:r_sx_equal_sy rhs: VARIABLE var:%temp96 result: VARIABLE var:%result
----- end generating... (96)
----- start saving... (96)
----- end saving... (96)
--- compile script to binary with command "export AS2JS_RC='/home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD' && /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tools/as2js -b -o /home/snapwebsites/snapcpp/BUILD/Debug/contrib/as2js/coverage/BUILD/tests/a.out /home/snapwebsites/snapcpp/contrib/as2js/tests/binary/string_operator_comparison.ajs".
--- run with return type: 1
===============================================================================
All tests passed (676188455 assertions in 101 test cases)


Finished running as2js tests v0.1.39 on Sat Jul 29 10:00:01 PM PDT 2023